css语法:选择器{声明};
声明由 css属性:属性值; 组成
p{background-color: #ccc;}
css属性
width 宽度(单位:px)
height 高度(单位:px)
background-color 背景颜色(颜色的英文或者十六进制颜色)
color 字体颜色
font-size 字体大小
……
css注释
/*h3{width:300px;}*/ 单行注释
/* p{
width:300px;
height: 300px;
} */多行注释
css样式表
1.内部样式表:将css语法写在style标签里面,而style标签写在head里面。作用域是本页面上。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Document</title>
<style>
h3{
width:300px;
height:300px;
background-color:red;
}
</style>
</head>
<body>
<h3>内部样式表</h3>
</body>
</html>
2.外部样式表:新建一个css文件,在css文件里写css语法.接着在html文件里通过link标签(写在head里面)的href属性链接到该css文件。作用域是只要链接到该css文件的所有html页面。
[注] linkrel="stylesheet"说明链接的是一个样式表文件。
test.css文件:
h3{
width:300px;
height:300px;
background-color:red;
}
html文件:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Document</title>
<link rel="stylesheet" href="../css/test.css" />
</head>
<body>
<h3>外部样式表</h3>
</body>
</html>
3.内联样式表(行内):将style作为html属性,将声明(css属性:css属性值;)作为html属性值。作用域是当前元素
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Document</title>
</head>
<body>
<h3 style="width:300px;height:300px;background-color:red;">内联样式表</h3>
</body>
</html>
样式表的优先级
- 前提:出现层叠性(对同一个元素添加相同的css属性)问题的时候,才会有优先级的比较。
- 优先级:内联样式>内部样式,内联样式>外部样式。内部样式与外部样式,誰写在后面,就覆盖前面的相同元素的相同属性。
选择器
1.标签选择器,通过标签名获取元素(相当于人的姓名)
div{
width:200px;
height:200px;
background-color:#666;
}
2.类选择器,通过.类名获取元素(相当于人的外号)
.box{
width:200px;
height:200px;
background-color:#666;
}
3.id选择器,通过#id名获取元素(相当于人的身份证号码,元素的id有且只有一个)
#box{
width:200px;
height:200px;
background-color: #666;
}
[注]类和id选择器的命名规则:英文开头,包含数字、下划线
<div class=box my_box" id="Mybox2">类选择器和id选择器</div>
<div id="box" >id选择器</div>
选择器的优先级
- !important>行内样式>id选择器>类选择器>标签选择器>通配符选择器
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Document</title>
<style>
div{
color:orange;
}
.box{
color:grey !important;
}
#Box{
color:green;
}
*{
color:pink;
}
</style>
</head>
<body>
<div class="box" id="Box" style="color:purple;">选择器优先级</div>
</body>
</html>
CSS核心属性
字体属性 font
1.字体大小 font-size,单位为px、rem、pt等。
浏览器默认字体大小为16px,最小字体为12px。(9pt=12px,12pt=16px)
p{font-size:24px;}
2.字体加粗 font-weight,属性值为:bolder更加粗 bold加粗600-900 normal默认正常100-500。
p{font-weight:bold;}
3.字体倾斜 font-style,属性值为:normal默认正常 italic倾斜 oblique更倾斜
p{font-style:oblique;}
4.字体家族 font-family
该属性的属性值若为中文字体或多个单词组成,则需要加上双引号。若存在多个字体,则用逗号隔开。表示找不到前一个字体时,就用后面的。
p{font-family:"Times New Roman","楷体","宋体";}
5.字体颜色 color,属性值为:颜色的单词或者十六进制
- 十六进制:0-9 a b c d e f;
- 表示颜色:#000000,前两个0代表红色,中间两个0代表绿色,后两个0代表蓝色.若是所有表示同一颜色的两个数是一样的,则可以省略成三个数字。
div{color:yellow;}
p{color:#ccc;}
span{color:#ff0000;}//红色,可简写为:#f00;
a{color:#00ff00;}//绿色,可简写为:#0f0;
i{color:#0000ff;}//蓝色,可简写为:#00f;
文本属性 text
1.文本设置大小写 text-transform,属性值为:lowercase小写 uppercase大写 capitalize首字母大写 none默认不变换。
p{text-transform: none;}
2.文本修饰 text-decoration,属性值为:underline下划线 overline上划线 line-through删除线 none默认没有修饰 blink闪烁
p{text-decoration:blink;}
3.首行缩进 text-indent,单位:em,以当前字体的大小为基准(可以为负值)
p{font-size:16px;text-indent:-2em}
p{text-indent:2em}//常用,首行缩进2个文字
4.字间距 letter-spacing
p{letter-spacing:30px}
5.词间距 word-spacing(以空格作为标识符)
p{word-spacing: 30px}
6.文本在当前容器中的水平对齐方式 text-align,属性值为:left默认向左 right向右对齐 center居中对齐 justify调整,对英文有效果。
p{
width: 200px;
height: 200px;
font-size:18px;
text-align:center;
}
7.文本在垂直方向的对齐方式(行内元素):vertical-align,属性值为:baseline默认以基线对齐 middle中线 top顶线 bottom底线。
a{
font-size:24px;
vertical-align:middle;
}
span{
vertical-align:middle;
}
img{
vertical-align:middle;
}
列表属性 list-style
1.列表样式类 list-style-type,属性值为:disc默认实心圆 circle空心圆 square方块 none没有。
2.列表样式图片 list-style-image:url(路径)
3.列表样式的位置 list-style-position,属性值为:outside列表项外边(默认) inside列表项里边。
ul,li{
list-style-type: none;//常用
list-style-image: url("../images/arror.jpg");
list-style-position: inside;
<!--list-style: circle inside;合并写法-->
}
//关于li前面的小图标,一般会给li留个padding的位置,再给li加上背景图片,而且要no-repeat,background-position一般都是0 center
边框属性 border
1.边框宽度 border-width
2.边框样式 border-style,属性值为:solid实线 dashed虚线 dotted点线 double双线
3.边框颜色 border-color
div{
width: 200px;
height: 200px;
border-width:3px;
border-style: double;
border-color:red;
<!--border:1px solid #ccc;合并写法-->
}
4.改变某条边框的属性值,border-方向left、right、top、bottom)
border-left:2px dashed red;
5.改变某条边框的某个属性的属性值,border-方向-属性(width、style、color)
border-right-style:dotted;
行高 line-height
属性值为:normal(默认) 具体像素值或者数值(eg:44px/2) 百分比(%,基于当前字体尺寸的百分比行间距。) inherit(从父元素继承 line-height 属性的值。)
p{
width:100px;
height:30px;
font-size:18px;
text-align:center;
line-height:30px;
}
//常用的文本水平和垂直方向都居中:text-align:center;line-height:numpx;line-height的值与元素的高度一致。
背景属性 background
1.背景颜色background-color
2.背景图片background-image:url()
3.背景图片重复background-repeat (repeat默认重复 no-repeat不重复 repeat-x水平方向重复 repeat-y垂直方向重复)
4.背景图片在容器中的位置 background-position:水平方向 垂直方向;属性值可以为数值、方位(leftcenterright、topcenterbottom)。
5.背景图片的固定 background-attachment,属性值为:scroll默认滚动 fixed固定。
div{
width: 800px;
height: 800px;
border:10px solid #ccc;
/*background-color:#ddd;*/
background-image:url("../images/666.jpg");
background-repeat:repeat-y;
background-position:center center;
<!--background:#ddd url("../images/666.jpg") no-repeat center;合并写法-->
background-attachment: fixed;
}
浮动 float
- 属性值为:left向左浮动 right向右浮动 none不浮动
在标准的文档流中,页面布局必须遵循从左往右,从上往下
1.浮动后的元素会脱离标准流,但是里面的内容不会脱离文档流。
2.浮动后的元素相当于行内块级元素(一行显示多个、可以设置宽高)
3.若是一行放不下所有的浮动元素,则放不下的那个浮动元素会在它上一个元素的最低点开始摆放。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Document</title>
<style>
.dv1{
width: 650px;
height: 300px;
background: #ccc;
float: left;
}
.dv2{
width: 500px;
height: 200px;
background: pink;
float: left;
}
.dv3{
width: 600px;
height: 300px;
background: blue;
float: left;
}
</style>
</head>
<body>
<div class="dv1"></div>
<div class="dv2"></div>
<div class="dv3"></div>
</body>
</html>
不透明度 opacity
- 属性值为0-1之间的小数,数值越大越不透明
div{
width:100%;
height:100%;
background:#999;
opacity:0.2;
}