css文本
text-decoration
用于设置文字的装饰线
- none无 (可以去除a元素默认的下划线)
- underline 下划线
- overline上划线
- line-through中划线(删除线)
u、ins元素默认就是设置了text-decoration为underline
letter-word-spacing
letter-spacing 字母间距
word-spacing 单词间距
默认是0,可以设置为负数
text-transform
用于设置文字的大小写转换
- capitalize将每个单词的首字符变为大写
- uppercase将每个单词的所有字符变为大写
- lowercase将每个单词的所有字符变为小写
- none没有任何影响
text-indent
用于设置第一行内容的缩进
text-indent:2em;刚好是缩进2个文字
text-align
可用于设置元素内容的元素中的水平对齐方式
text-align:left/right/center/justify;
text-align:justify;对最后一行没有用,要设置最后一行两端对齐,用text-align-last:justify.
css字体
font-size
决定文字的大小
常用的设置
- 具体数值+单位
- 比如 100px
- 也可以使用em单位:1em代表100%,2em代表200%,0.5em代表50%
- 百分比
- 基于父元素的font-size计算,比如50%表示等于父元素font-size的一半
font-family
用于设置文字的字体名称
可以设置1个或者多个字体名称(从左到右按顺序选择字体,直到找到可用的字体为止)
font-family:"微软雅黑",Consolas,Symbol,"microsoft Sans Serif";
一般情况下,英文字体只适用于英文,中文字体同时适用于英文和中文
- 所以,如果希望中英文分别使用不同的字体,应该先将英文字体写在前面,中文字体写在后面
div{
font-family:"Courier New","华文彩云"
}
font-weight
用于设置文字的粗细(重量)
100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 :每一个数字表示一个重量
strong、b、h1~h6等标的font-weight默认就是bold
-
normal常规显示(等于400)
-
bold(等于700)
font-style
用于设置文字的常规、斜体显示
- normal常规显示(等于400)
- italic用字体的斜体显示(前提,是font-family这种字体本身是支持斜体)
- oblique 文本倾斜显示(让文字倾斜)
em、i、cite、address、var、dfn、等元素等font-style默认就是italic
font-variant
font-variant可以影响小写字母的显示形式
- normal常规
- small-caps:将小写字母替换为缩小过的大写字母
line-height
line-height:元素中文字所占据的高度
height:元素的整体高度
- 让line-height等同于height可以实现垂直居中
font
是一个缩写属性
font-style font-variant font-weight font-size/line-height font-family
- font-style font-variant font-weight 可以随意调换顺序,也可以省略
- line-height 可以省略,如果不省略,必须跟在font-size后面
- font-size font-family 不可以调换顺序,不可以省略
css选择器
属性选择器
拥有title属性的元素
[title] {
color:red;
}
title属性值恰好等于one的元素
[title="one"] {
color:red;
}
title属性值包含单词one的元素
[title*="one"] {
color:red;
}
title属性值以单词One开头的元素
[title^="one"] {
color:red;
}
title属性值恰好等于one或者以单词one开头且后面紧跟着连字符-的元素
[title |="one] {
color:red;
}
一般是用在lang属性上面
[lang |= "en"] {
color:red;
}
title属性值包含单词one的元素(单词one与其他单词之间必须用空格隔开)
[title *= "one"] {
color:red;
}
title属性值以单词one结尾的元素
[title $= "one"] {
color:red;
}
后代选择器
div span{
color:red;
}
div 元素里面的span元素(包括直接、间接子元素)
子选择器
div > span {
color: red;
}
div元素里面的直接span子元素(不包括间接子元素)
相邻兄弟选择器
div+p {
color: red;
}
div元素后面紧挨着的p元素(且div、p元素必须是兄弟关系)
全体兄弟选择器
div~p {
color: red;
}
div元素后面的p元素( 且 div、p元素必须是兄弟关系)
选择器组
交集选择器
div.one {
color:red;
}
必须同时符合所列条件,只有符合其中之一都不是
并集选择器
div, .one , [title="test"] {
color:red;
}
所有符合所列条件,只要符合其中一个条件都设置相应样式
伪类
动态伪类
a:link 未访问的链接
a:visited已访问的链接
a:hover鼠标挪动到链接上
a:active激活的链接(鼠标在链接上长按住未松开)
注意
- :hover必须放在:link和:visited后面才能完全生效
- :active必须放在:hover后面才能完全生效
- 所以建议的编写顺序是:link、:visited、:hover、:active
除了a元素,:hover、:active也能用在其他元素上
:focus 指当前拥有输入焦点的元素(能接收键盘输入)
- 动态伪类编写顺序建议为
- :link :visited :focus :hover :active
细节
去除a元素默认的:focus效果
a:focus {
outline: none;
}
或者将tabindex属性设置为-1
- tabindex可以调整tab选中元素的顺序
直接给a元素设置样式,相当于给a元素的所有动态伪类都设置了
a{
color:red;
}
相当于a:link a:visited a:hover a:active a:focus 的color都是red
结构伪类
-
p:nth-child(1)
- p是父元素中的第1个子元素的被选中
-
:nth-child(n)
- 父元素中的第n个子元素
- n代表任意正整数和0
-
:nth-child(2n)
- 父元素中的偶数子元素
- 跟:nth-child(even)同义
-
:nth-child(2n+1)
- 父元素中的奇数子元素
- 跟:nth-child(odd)同义
-
:nth-last-child()的语法跟:nth-child()类似,不同点是:nth-last-child()从最后一个子元素开始往前计数
- :nth-last-child(1) 代表倒数的第一个子元素
- :nth-last-child(-n+2)代表最后2个子元素
-
:nth-of-type()
- 与:nth-child()类似,不同点:nth-of-type()计数时只计算同种类型的元素
-
:nth-last-of-type()
- :nth-of-type()类似,不同点是:nth-last-of-type()从最后一个这种类型的子元素开始往前计数
-
:first-child等同于:nth-chlid(1)
-
:last-child等同于 :nth-last-child(1)
-
:first-of-type 等同于:nth-of-type(1)
-
last-of-type 等同于 :nth-last-of-type(1)
-
:only-child 是父元素中唯一的子元素
-
:only-of-type 是父元素中唯一的这种类型的子元素
-
:root 根元素,就是HTML元素
-
:empty 代表里面完全空白的元素
否定伪类
- :not()
- :not(x) 表示除x以外的元素
- x 是一个简单选择器:元素选择器,通用选择器,属性选择器,类选择器,id选择器,伪类(除否定伪类),不支持组合
伪元素
-
::first-line可以针对首行文本设置属性
- 只可设置下列属性
- 字体属性、颜色属性、背景属性
- word-spacing、letter-spacing、text-decoration text-transform line-height
- 只可设置下列属性
-
::first-letter 可以针对首字母设置属性
- 只可设置下列属性
- 字体属性、margin属性、padding属性、border属性、颜色属性、背景属性
- text-decoration text-transform letter-spacing(适当的时候)、line-height、float、vertical-align(只有当float是none时)
- 只可设置下列属性
-
::before 和 ::after
- 用于在一个元素的内容之前或之后插入其他内容(可以是文字、图片)
div::after{
content:url("bg001.png")
}
在CSS属性值中,使用url(图片的URL)来引用图片
目标伪类
- :target
元素状态伪类
:enabled :disabled :checked
ccs特性
继承
一个元素如果没有设置某属性的值,就会跟随父元素的值
当然,一个元素如果有设置某属性的值,就使用自己设置的值
哪些属性可以继承呢?可查阅官方文档。浏览器的开发者工具也会标识出哪些样式是继承过来的。
不能继承的属性,一般可以使用inherit值强制继承
注意
继承过来的是计算值。
层叠
同一元素可以设置多个css属性,优先级高的生效
优先级
权重
- !important 10000
- 内联样式 1000
- id选择器 100
- 类选择器、属性选择器、伪类 10
- 元素选择器、伪元素 1
- 通配符 0