CSS
选择器
基础选择器
选择器 | 实例 | 描述 |
---|---|---|
.class | .info | 选择class=info的所有元素 |
#id | #name | 选择id=name的所有元素 |
* | * | 选择所有元素 |
element | p | 选择所有<p>元素 |
element,element | div,p | 选择所有<div>与<p>元素 |
element element | div p | 选择<div>下的所有<p>元素 |
[attribute] | [target] | 选择含有target属性的元素 |
element[attribute=value] | link[target=_blank] | 选择所有<link>中属性target=_blank的元素 |
伪类选择器
清除缓存后失效
选择器 | 实例 | 描述 |
---|---|---|
:link | a:link | 所有未访问的链接 |
:hover | a:hover | 鼠标指针位于其上的链接 |
:visited | a:visited | 已访问的链接 |
:active | a:active | 活动的链接(例如点击操作时) |
:empty | li:empty | 空的列表 |
:root | :root | 文档根元素 |
:first-child | p:first-child | 选择后代中的第一个为<p>的元素 |
:first-of-type: | p:first-of-type | 选择后代中的第一个类型为<p>的元素 |
父子选择器
选择器 | 实例 | 描述 |
---|---|---|
element>element | div>p | 父元素为<div>的所有<p>子元素 |
element+element | div+p | 紧接在<div>后的<p>元素 |
element~element | div~p | 前面有<div>的每个<p>元素 |
内容选择器
选择器 | 实例 | 描述 |
---|---|---|
[attribute^=value] | a[src^=”https”] | 以https开头的所有链接 |
[attribute$=value] | a[src$=”.pdf”] | 以.pdf结尾的所有链接 |
[attribute*=value] | a[src*=”abc”] | 属性中包含abc子串的所有链接 |
权重
以下样式的权重递增,权重一致时选择后出现的样式:
- 泛选择器(例如,*),权重0000。
- 类型选择器(例如,h1)和伪元素(例如,::before),权重0001。
- 类选择器 (例如,.example),属性选择器(例如,[type=”radio”])和伪类(例如,:hover),权重0010。
- ID 选择器(例如,#example),权重0100。
- 行间样式,权重1000。
- !important,权重无穷大。
文字排版
- px:像素
- em:相对于当前元素字体的大小
- rem:相对HTML根元素的字体大小
- GoogleFonts提供字体,Font-Awesome提供字体图标。
字体,字号,字重,特殊标注
1 | body{ |
文本阴影
1 | body{ |
文本空白与溢出处理
1 | body{ |
段落缩进,间距,对齐
1 | body{ |
CSS框盒
参考:https://blog.raincorn.top/2020/03/21/CSS_box_model/
- 当存在多个边距时,取最大边距。
- 边距的简化写法中,遵循顺时针即上、右、下、左。
圆角
1
2
3
4
5
6div{
width: 300px;
height: 300px;
border: solid 2px red;
border-radius: 10px;
}
Flex布局
采用Flex布局的元素称为容器(flex container),子元素称为项目(flex item)。
声明容器
1 | .box{ |
容器属性
flex-direction:主轴的方向,默认为row
1
2
3
4.box {
<!-- row:从左到右;row-reverse:从右到左 -->
flex-direction: row | row-reverse | column | column-reverse;
}flex-warp:元素的换行方式,默认为nowarp
1
2
3
4.box{
<!-- nowarp:不换行;warp:第一行在上的换行;warp-reverse:第一行在下的换行 -->
flex-wrap: nowrap | wrap | wrap-reverse;
}- flex-flow:flex-direction于flex-warp的简写
1
2
3.box {
flex-flow: <flex-direction> || <flex-wrap>;
} justify-content:主轴元素对齐方式,默认为flex-start
1
2
3
4.box {
<!-- flex-start:左对齐;flex-end:右对齐;center:居中;space-between:两端对齐;space-around:间隔相等对齐 -->
justify-content: flex-start | flex-end | center | space-between | space-around;
}- align-items:交叉轴对齐方式,默认为stretch
1
2
3
4.box {
<!-- flex-start:上对齐;flex-end:下对齐;center:居中对齐;baseline:以第一行文字为基线对齐;stretch:占满当前容器 -->
align-items: flex-start | flex-end | center | baseline | stretch;
}项目属性
- order:属性定义项目的排列顺序,数值越小越靠前,默认为0
1
2
3.item {
order: <integer>;
} - flex-grow:项目的放大比例,默认为0,不放大;都为1时均分空间
1
2
3.item {
flex-grow: <number>;
} - flex-shrink:项目的缩小比例,默认为1
1
2
3.item {
flex-shrink: <number>;
} - flex-basis:项目占据的主轴空间,默认为auto
1
2
3.item {
flex-basis: <length> | auto;
} - flex:为flex-grow,flex-shrink,flex-basis的缩写;auto属性对应 1 1 auto,none属性对应0 0 auto
1
2
3.item {
flex: none | auto | flex-grow flex-shrink flex-basis
} - align-self:与容器属性类似
参考资料
本文标题:CSS
文章作者:Raincorn
发布时间:2020-07-08
最后更新:2020-07-28
原始链接:https://blog.raincorn.top/2020/07/08/CSS/
版权声明:本文采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可