css选择器
1.id选择器:
css:#abab{}
html:id=''abab''
在一个页面中,id值是唯一的不能取相同的名字
命名的第一位不能是数字
2.class选择器:
css:.abab{}
html:class="abab"
class选择器可以复用
可以添加多个class样式
多个样式的时候,样式的优先级根据css决定,而不是class属性中的顺序
3.标签选择器:
css:div{}
html:<div>
4.群组选择器:
css:div,#abab,.abab{}
可以通过逗号的方式,给多个不同的选择器添加统一的css样式,来达到代码复用。
5.通配选择器:*{}给所有标签添加样式
6.层次选择器:比如m和n代表两个选择器
m n{ }后代选择器
m > n{ }父子选择器
m ~ n{ }兄弟选择器
m + n{ }相邻选择器
7.属性选择器:比如m代表一个选择器
m[class ] { }
=:完全匹配
~=:包含属性名,并且具有属性值匹配
*=:包含某个字符匹配
^=:起始匹配
$=:结尾匹配
8. 伪类选择器:
比如m代表一个选择器
m伪类{ }
:link 访问前的样式 (只能添加给a标签)
:visited 访问后的样式 (只能添加给a标签)
:hover 鼠标移入时的样式 (可以添加给所有标签)
:active 鼠标按下时的样式 (可以添加给所有标签)
如果四个伪类都生效,一定要注意顺序L V H A
CSS样式继承
文本相关的样式可以被继承比如颜色,字体大小……
布局相关的样式不能被继承(默认是不能继承的,但是可以设置继承属性)比如边框……
inherit值可以继承布局样式
css优先级
1.相同样式优先级
当设置相同样式时,后面的优先级较高,但不建议出现重复设置样式的情况。
2.内部样式与外部样式
内部样式与外部样式优先级相同,如果都设置了相同样式,那么后写的引入方式优先级高
3.单一样式优先级
style内联>id>class>标签>*>继承
!important提升样式优先级(不能针对继承的属性进行优先级的提升)
群组选择器与单一选择器的优先级相同,靠后写的优先级高
标签+类>单类
css盒子模型
组成:content ->padding ->border ->margin->
content:内容区域 width和height组成的
padding:内边距(内填充)
写一个值: px(上下左右)
写两个值: px(上下、左右)
写三个值: px(上、左右、下)
写四个值: px(上、右、下、左)
padding-left:左内边距
padding-right:右内边距
padding-top:上内边距
padding-bottom:下内边距
margin:外边距(外填充)
写一个值: px(上下左右)
写两个值: px(上下、左右)
写三个值: px(上、左右、下)
写四个值: px(上、右、下、左)
margin-left:左外边距
margin-right:右外边距
margin-top:上外边距
margin-bottom:下外边距
margin:0 auto;屏幕横向居中
margin-left:auto;屏幕右边
margin-right:auto;屏幕左边
背景颜色填充到margin以内的区域(不包括margin)
文字在content区域添加
padding不能为负数,而margin可以为负数
box-sizing: ;
盒尺寸:可以改变盒子模型的展示形态
默认值:content-box:width、height->content
整体大小不变,内容向内凹陷:border-box:width、height->content padding border
浮动属性
floath:left 左浮动
float:right 右浮动
float:none 元素不浮动
清浮动
cleat:none; 允许有浮动对象
cleat:right; 不允许右边有浮动对象
cloat:left; 不允许左边有浮动对象
cloat:both;不允许有浮动对象