none:元素不显示
block:块级元素
inline:行内元素
inline-block:行内块元素
table:表格
list-item:块类型元素
inherit:从父级继承display属性
对list-item了解吗?
block:块级元素,独占一行,多个元素另起一行。
inline:行内元素,宽高,水平方向的margin、padding都无效。
inline-block:对象设置为inline对象,对象内容作为为block呈现。
display:none
visibility:hidden
opacity:0
position:absolute
clip-path:
transform:scale(0,0)
z-index:负值
<1>.link 是XHTML标签,不仅能加载CSS,还能加载RSS;而import只能加载CSS.
<2>.引入CSS,页面载入时同时加载;import需要等待页面载入之后才加载。
<3>.link 可以通过JS控制DOM来改变样式,而import不行。
什么是RSS? 怎么实现通过JS控制DOM来改变样式?
display:none 隐藏的元素会从渲染树上完全消失,不会占用任何空间,它的子元素也会跟着一起消失;
visibility:hidden 隐藏的元素不会从渲染树上完全消失,会占用一定的空间,如果想让子元素显示,可以给子元素设置visible
普通标准盒模型一般由四部分组成,content、padding、border、margin
标准盒模型:宽高的范围只包含了 content;
IE盒模型:宽高的范围为content、padding、border;
可以通过修改 box-sizing: content-box/border-box改变盒模型。
圆角边框:border-radio
文字特效:text-shadow
文字渲染:text-decoration
阴影与反射:shadoweflect
多列布局:mult-column layout
线性渐变:gradient
旋转:transform
伪元素(::):以双冒号形式存在,在元素前后插入新的元素或样式,只存在于页面中,不存在于DOM 中;
伪类(:):将特定的样式添加到特定的元素上。
有哪些特定的样式可以使用伪类添加?
BFC是为了解决以下几个问题:
<1>.margin重叠
<2>.高度塌陷
<3>.创建自适应两栏布局
如果要实现两栏布局,左边设置
float:left
,右边overflow:hidden
,这样右边就不会触发BFC,BFC区域不会与浮动元素发生重叠。
垂直方向两个块级元素,上面元素的margin-bottom(下外边距)和下面元素的margin-top(上外边距)可能会合并为一个margin(外边框),大小取决于外边距最大的那个,这就照成了margin重叠。
背景/边框 —> z-index:负值 —> 块级盒子 —> 浮动盒子 —> 行内盒子 —> z-index:0 —> z-index:正值
.parent {
position: relative;
}
.child {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%,-50%);
}
.parent {
position: relative;
}
.child {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
}
.parent {
position: relative;
}
.child {
position: absolute;
top: 50%;
left: 50%;
margin-top: -50px; /* 自身 height 的一半 */
margin-left: -50px; /* 自身 width 的一半 */
}
.parent {
display: flex;
justify-content:center;
align-items:center;
}
.div0{
width:200px;
height:150px;
border:1px solid #000;
}
.redbox{
position:relative;
width:30px;
height:30px;
background:#c00;
float:left;
top:calc(50% - 15px);
margin-left:calc(50% - 45px);
}
.greenbox{
position:relative;
width:30px;
height:80px;
background:#0c0;
float:left;
top:calc(50% - 40px);
}
.bluebox{
position:relative;
width:30px;
height:40px;
background:#00f;
float:left;
top:calc(50% - 20px);
}
.div0{
width:200px;
height:150px;
border:1px solid #000;
line-height:150px;
text-align:center;
}
.redbox{
display:inline-block;
width:30px;
height:30px;
background:#c00;
}
参考:https://segmentfault.com/a/1190000020089104
左边固定固定宽度,右边设置flex:1,flex-grow(放大比例)、flex-shrink(缩小比例)、flex-basis(分配剩余空间之前,占据的主轴方向)
父级元素设置overflow:hidden , 左边元素左浮动,右边设置margin-left:200px给左边留出空间
左边元素左浮动,固定宽度;右边元素色值overflow:hidden; 此时会触发BFC,BC区域的内容不会与浮动元素发生重叠。
左边左浮动,右边右浮动;一般不推荐