CSS基础
Posted 超霸霸
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CSS基础相关的知识,希望对你有一定的参考价值。
CSS基础
一、概念
CSS(Cascading Style Sheets):层叠样式表
- 层叠:多个样式可以作用在同一个html的元素上,同时生效
二、好处
- 功能强大
- 将内容展示和样式控制分离
- 降低耦合度
- 让分工协作更容易
- 提供开发效率
三、CSS的使用
- 内联样式
- 在标签内使用
style
属性指定css
代码
- 在标签内使用
<div style="color:red;">hello world</div>
- 内部样式
- 在
head
标签内定义style
标签,style
标签的标签体内容就是css
代码
- 在
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>css</title>
<style>
div{
color: #6486ed;
}
</style>
</head>
<body>
<div>hello world</div>
</body>
</html>
- 外部样式
- 定义
css
资源文件 - 在
head
标签内,定义link
标签,引入外部的资源文件
- 定义
a.css文件:
div{
color:red;
}
css.html文件:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>外部样式</title>
<link rel="stylesheet" href="a.css">
</head>
<body>
<div>
hello world
</div>
</body>
</html>
【注意】:
-
1,2,3种方式
css
作用范围越来越大 -
内联样式不常用,后期常用内部样式和外部样式
-
外部样式可以写为:(了解即可,不常用)
<style> @import "a.css"; </style>
四、CSS语法
- 格式:
选择器 {
属性名1:属性值1;
属性名2:属性值2;
...
}
- **选择器:**筛选具有相似特征的元素
【注意】:每一对属性需要使用分号;
隔开,最后一对属性可以不加分号;
五、选择器
-
概念:筛选具有相似特征的元素
-
分类:
-
基础选择器
- id选择器:选择具体的id属性值的元素,建议在一个html页面中id值唯一
- 语法:
#id属性值{}
- 语法:
- 元素选择器:选择具有相同标签名称的元素
- 语法:
标签名称{}
- 注意:
id
选择器优先级高于元素选择器
- 语法:
- 类选择器:选择具有相同的
class
属性值的元素- 语法:
.class属性值{}
- 注意:类选择器优先级高于元素选择器
- 语法:
案例:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>外部样式</title> <style> <!--id选择器--> #div1{ color: #b8ed64; } <!--元素选择器--> div{ color: #ed6464; } <!--类选择器--> .cls1{ color: grey; } </style> </head> <body> <div id="div1">hello world</div> <div>hello world</div> <p class="cls1">hello world</p> </body> </html>
效果:
- id选择器:选择具体的id属性值的元素,建议在一个html页面中id值唯一
-
扩展选择器
- 选择所有元素
- 语法:
*{}
- 语法:
- 并集选择器
选择器1, 选择器2{}
- 子选择器
- 语法:
选择器1, 选择器2{}
- 语法:
- 父选择器
- 语法:
选择器1 > 选择器2{}
- 语法:
- 属性选择器:选择元素名称,属性名=属性值的元素
- 语法:
元素名称[属性名称="属性值"]{}
- 语法:
- 伪类选择器:选择一些元素具有的状态
- 语法:
元素:状态{}
- 状态:
link
:初始化的状态visited
:被访问过的状态active
:正在访问状态hover
:鼠标悬浮状态
- 语法:
案例:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>扩展选择器</title> <style> /*子选择器,选择div标签的p子标签*/ div p { color: #64aded; } /*父选择器,选择p标签的div父标签*/ div > p { border: 1px solid; /*solid代表实线*/ } /*属性选择器*/ input[type="text"] { border: 5px solid; } /*伪类选择器*/ a:link { color: pink; } a:hover { color: green; } a:active { color: yellow; } a:visited { color: red; } </style> </head> <body> <div> <p>海贼王</p> </div> <div>海贼王</div> <input type="text"> <input type="password"> <br> <a href="#">百度</a> </body> </html>
效果:
- 选择所有元素
-
六、属性
- 文字、文本
font-size
:字体大小color
:文本颜色text-align
:对齐方式line-height
:行高
- 背景
- 边框
border
:设置边框,复合属性
- 尺寸
width
:宽度height
:高度
- 盒子模型:控制布局
margin
:外边框padding
:内边框- 默认情况下内边距会影响整个盒子的大小
box-sizing:border-box
;设置盒子的属性,让width
和height
就是盒子的最终大小
float
:浮动left
:左浮动right
:右浮动
案例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>属性</title>
<style>
div {
border: 1px solid orange;
width: 100px;
}
.div1 {
width: 100px;
height: 100px;
/*外边距*/
/*margin-top: 10px;*/
}
.div2 {
width: 200px;
height: 200px;
/*内边距*/
padding: 50px;
/*
设置盒子的属性,让width和height就是最终盒子的大小
*/
box-sizing: border-box;
}
.div3 {
float: left;
}
.div4 {
float: left;
}
.div5 {
float: right;
}
</style>
</head>
<body>
<div class="div2">
<div class="div1"></div>
</div>
<div class="div3">aaa</div>
<div class="div4">bbb</div>
<div class="div5">ccc</div>
</body>
</html>
效果:
七、CSS练习:注册页面
代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>注册界面</title>
<style>
* {
/*设置默认内边距和外边距都为0*/
margin: 0px;
padding: 0px;
box-sizing: border-box;
}
body {
/*设置背景图片,不重复显示,居中*/
background: url("picture.jpg") no-repeat center;
}
.rg_layout {
/*设置白框的高度宽度*/
width: 900px;
height: 500px;
/*设置内灰框的大小,颜色*/
border: 8px solid #EEEEEE;
background-color: white;
/*让div居中*/
margin: auto;
/*设置外边距*/
margin-top: 20px;
}
.rg_left {
padding: 15px;
float: left;
}
/*设置新用户注册*/
.rg_left p:first-child {
color: #FFD026;
size: 20px;
}
/*设置USER REGISTER*/
.rg_left p:last-child {
color: #A6A6A6;
size: 20px;
}
.rg_center {
float: left;
width: 450px;
}
.td_left {
height: 45px;
width: 100px;
/*设置右对齐*/
text-align: right;
}
/*设置左边距*/
.td_right {
padding-left: 50px;
}
.rg_right {
margin: 15px;
float: right;
}
/*设置所有的输入框*/
#username, #password, #birthday, #phone, #name, #email {
width: 250px;
height: 32px;
padding-left: 5px;
border: 1px solid #A6A6A6;
/*设置边框圆角*/
border-radius: 5px;
}
#code {
width: 125px;
height: 32px;
padding-left: 5px;
border: 1px solid #A6A6A6;
border-radius: 5px;
}
/*设置验证码*/
#img_check {
padding-left: 5px;
width: 120px;
height: 40px;
vertical-align: middle;
}
#button {
width: 150px;
height: 40px;
background-color: #FFD026;
border: 0px;
}
/*设置立即登录*/
.rg_right p a {
color: pink;
}
</style>
</head>
<body>
<div class="rg_layout">
<div class="rg_left">
<p>新用户注册</p>
<p>USER REGISTER</p>
</div>
<div class="rg_center">
<div class="rg_form">
<form action="#" method="get">
<table>
<tr>
<td class="td_left"><label for="username">用户名</label></td>
<td class="td_left"><input type="text" name="username" placeholder="请输入账号" id="username"></td>
</tr>
<tr>
<td class="td_left"><label for="password">密码</label></td>
<td class="td_right"><input type="password" name="password" placeholder="请输入密码" id="password">
</td>
</tr>
<tr>
<td class="td_left"><label for="email">Email</label></td>
<td class="td_right"><input type="text" name="email" placeholder="请输入Email" id="email"></td>
</tr>
<tr>
<td class="td_left"><label for="name">姓名</label></td>
<td class="td_right"><input type="text" name="name" placeholder="请输入真实姓名" id="name"></td>
</tr>
<tr>
<td class="td_left"><label for="phone">手机号</label></td>
<td class="td_right"><input type="text" name="phone" placeholder="请输入您的手机号" id="phone"></td>
</tr>
<tr>
<td class="td_left">性别</tdVSCode自定义代码片段7——CSS动画