目录
基础知识回顾
样式表⭐⭐
内联样式表
嵌入样式表
外部样式表
选择器
ID选择器(#id)、类选择器(.class)、标签选择器⭐⭐
复合选择器
属性选择器
伪类/伪元素选择器
伪类选择器(a:hover ul li:nth-child(odd))逻辑选择元素
伪元素(div::after)抽象创造元素
特殊符号选择器
群组选择器(’h1,h2’)同时选择
子元素选择器(’h1 sub‘)
直接子元素选择器(’h1>son’)
相邻兄弟选择器(’h1+bro’)
兄弟选择器(’h1~bros’)
样式优先级⭐⭐⭐
盒模型
content-box 内容盒模型(W3C盒) 和 border-box 边框盒模型(IE 盒)
单位⭐⭐⭐
position关键字⭐⭐⭐
BFC规范
问题
外边距重叠:magrin=max(top,bottom)
浮动导致父高度塌陷
不浮动的元素被浮动元素覆盖
常见触发条件
flex布局
容器属性
flex-direction:row/column(-reverse)
justify-content:flex-end、主轴
align-items:flex-start、center、stretch、baseline交叉轴
align-content:多根主轴,以交叉轴为对齐 flex-start |end | center | space-between | around | stretch(默认)
flex-wrap: nowrap(默认) | wrap | wrap-reverse;
flex-flow=flex-direction flex-wrap
项目属性
flex-grow:0 放大比例
flex-shrink : 1缩小比例
flex-basis:auto(main axis size)
flex:1=flex-grow:0, flex-shrink:1 ,flex-basis:auto
align-self
行内素inline、块级元素block和行内块元素inline-block⭐⭐⭐
居中
水平居中
块元素margin:auto
行内元素->block+margin:auto
文本text-align=center(除了p)
水平垂直居中
transform:translate(-50%)+top+left: 50%;
flex:align-items/justify-content:center
开发进阶
css预处理语言
Scss
嵌套
常用样式
header
特殊文字
展开/收起
底部absolute+ bottom:0
根据js动态设置样式
常见bug
样式不生效时:A.devtools B.!important
推荐直接在style中设置,js设置有时也不生效
标题中的样式表,并列选择器均按按优先级高到低排序
rel=relationship
href=hypertext Reference
通过 link 进行对外部CSS样式文件的引用,也可以引用网上别人写好的样式
红色
绿色
黑色
/* 选择所有类名为 "mds-menu" 但不包含 "mds-menu-horizontal" 的元素,并且该元素下的类名为 "mds-menu-item-selected" 的子元素 */
.mds-menu:not(.mds-menu-horizontal) .mds-menu-item-selected {
/* 设置选中项的背景颜色为 #E4EBFA */
background-color: #E4EBFA;
/* 对选中项的伪元素 "::after" 进行样式设置 */
&::after {
/* 将选中项的伪元素 "::after" 设置为不显示,即隐藏 */
display: none;
}
}
/* 选择所有含有 "data-attribute" 属性的元素 */
[data-attribute] {
}
[title]
{
color:blue;
}
/* 选择所有 "data-attribute" 属性值为 "value" 的元素 */
[data-attribute="value"] {
/* 样式 */
}
[title=runoob]
{
border:5px solid green;
}
/* 选择所有 "data-attribute" 属性值以 "prefix-" 开头的元素 */
[data-attribute^="prefix-"] {
/* 样式 */
}
/* 选择所有 "data-attribute" 属性值以 "-suffix" 结尾的元素 */
[data-attribute$="-suffix"] {
/* 样式 */
}
/* 选择所有 "data-attribute" 属性值包含 "substring" 的元素 */
[data-attribute*="substring"] {
/* 样式 */
}
/*复合选择*/
/* 选择所有 "data-attribute" 属性值以 "start" 开头且以 "end" 结尾的元素 */
[data-attribute^="start"][data-attribute$="end"] {
/* 样式 */
}
const tabElement = this.$refs.tabs.$el.querySelector(`[name="${domId}"][id="1"]`);
selector:pseudo-class {property:value;}
菜鸟教程(runoob.com)
注意: a:hover 必须在 a:link 和 a:visited 之后,需要严格按顺序才能看到效果。
注意: a:active 必须在 a:hover 之后。
nth-child(n)匹配属于其父元素的第n个子元素,不论元素类型,n可以是数字、关键词、或公式。关键词odd和even是可用于匹配下标是奇数或偶数的子元素的关键词(第一个子元素的下标是 1)
- 1
- 2
- 3
- 4