block
inline
inline-block
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-J7oKOoeP-1570017852099)(css.assets/line2.png)]
行高等于盒子高度,可以让一行文本垂直居中
text-,font-,line-这些元素开头的都可以继承,以及color属性
table{ border-collapse:collapse; }
collapse 单词是合并的意思
border-collapse:collapse; 表示相邻边框合并在一起
相邻两个盒子都有margin,取两者中的较大者
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SWVX01OU-1570017852100)(css.assets/margin塌陷1.png)]
对于两个嵌套关系的块元素,如果父元素没有上内边距及边框,则父元素的上外边距会与子元素的上外边距发生合并,合并后的外边距为两者中的较大者,即使父元素的上外边距为0,也会发生合并。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3Gvflt7R-1570017852101)(css.assets/margin塌陷2.png)]
子盒子会占满父盒子的空间
如果一个盒子没有给定宽度/高度(从父盒子继承),padding不会撑大盒子
两个半径决定一个椭圆
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mGmy4vtO-1570017852102)(css.assets/radius.jpg)]
border-radius: 150px 0;
border-radius: 50%;
box-shadow
能让盒子浮起来,但是对文字不生效.
overflow为 hidden|auto|scroll
BFC后面讲解
.clearfix:after
{content: "";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
.clearfix:before,.clearfix:after {
content:"";
display:table; /* 这句话可以出发BFC BFC可以清除浮动,BFC我们后面讲 */
}
.clearfix:after {
clear:both;
}
静态定位唯一的用处: 就是 取消定位。 position: static;
相对定位的盒子仍在标准流中,它后面的盒子仍以标准流方式对待它。(相对定位不脱标)
普通的盒子是左右margin 改为 auto就可, 但是对于绝对定位就无效了
定位的盒子也可以水平或者垂直居中,有一个算法
只认浏览器,(不认父元素)
绝对定位和固定定位的元素,最后都自动转换成行内块.
在CSS中,要想调整重叠定位元素的堆叠顺序,可以对定位元素应用z-index层叠等级属性,其取值可为正整数、负整数和0。
z-index: 2;
定位比浮动高一层
最佳实践是置零
防止默认testarea 的拖拽能力
想实现...
特性必须三个一起使用
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
中间宽度随意变动
实际上就是三个box, 两头和中间,中间 repeat-x
声明
@font-face {
font-family: 'icomoon';
src: url('fonts/icomoon.eot?7kkyc2');
src: url('fonts/icomoon.eot?7kkyc2#iefix') format('embedded-opentype'),
url('fonts/icomoon.ttf?7kkyc2') format('truetype'),
url('fonts/icomoon.woff?7kkyc2') format('woff'),
url('fonts/icomoon.svg?7kkyc2#icomoon') format('svg');
font-weight: normal;
font-style: normal;
}
加字体
span {
font-family: "icomoon";
}
加结构
span::before {
content: "\e900";
}
或者
语义 :定义页面的头部 页眉
语义: 定义文章
语义: 定义区域
div:first-letter
div::after
background-image 背景图片可以写多个.用逗号分隔,后面的会被前面的覆盖,所以background-color
要写在最后(被覆盖)
url(test1.jpg) no-repeat scroll 10px 20px/70px 90px,url(test1.jpg) no-repeat scroll 10px 20px/110px 130px c #aaa;
transition: width 0.6s ease 0s, height 0.3s ease 1s;
一旦元素的css样式变化了,浏览器会自动地根据样式属性值的变化,自行执行过渡动画, 浏览器默认执行.
移动,旋转和缩放,倾斜
transform: translate(100px, -50%); // 自己高度的一半
transform: translateX(100px);
transform: translateY(100px);
transform: scale(0.8, 1); //宽度变为了原来的 80% 高度不变
transform: scale(1, 0.8); //宽度变为了原来的 80% 高度不变
transform: scale(0.8); //宽高都是 0.8
transform: rotate(360deg);
transform-origin: 10px 10px;transform: rotate(45deg) // 改变元素原点到x 为10 y 为10,然后进行顺时旋转45度 */
transform:skew(30deg,0deg);
section {
width: 80%;
height: 150px;
/*background-color: pink;*/
margin: 100px auto;
display: flex; /*父亲添加 伸缩布局*/
flex-direction: column; /*垂直分布*/
}
section div {
height: 100%;
flex: 1; /* 孩子的份数*/
}
section div:nth-child(1) {
background-color: pink;
flex: 2;
}
BFC 有宽度/高度/外边距margin/内边距padding/边框 border的元素满足BFC
block/table/list-item
float属性不为none
position为absolute或fixed
display为inline-block, table-cell, table-caption, flex, inline-flex
overflow不为visible。
BFC和BFC之间是干净的.
清浮动
只要把父元素设为BFC就可以清理子元素的浮动了,最常见的用法就是在父元素上设置overflow: hidden样式
解决外边距合并问题
属于同一个BFC的两个相邻盒子的margin会发生重叠,那么我们创建不属于同一个BFC,就不会发生margin重叠了
BFC和浮动不叠加.
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1KAN2JFA-1570017852103)(css.assets/搜狗截图20190915190010.jpg)]
vertical-align: middle;
+ margin-top: 10px;
可以移动图片,否则图片文字会一起移动
span {
display: inline-block;
vertical-align: middle;
width: 10px;
height: 10px;
background-color: pink;
/* margin-top: 10px;*/
}
文字
div {
position: absolute;
width: 200px;
height: 200px;
background-color: pink;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
/*translate 如果x -50% 跟父亲没关系,是走自己盒子宽度的一半*/
/*translate 如果y -50% 跟父亲没关系,是走自己盒子高度的一半*/
}
pink;
/* margin-top: 10px;*/
}
文字
### 实现盒子的垂直和水平居中
div {
position: absolute;
width: 200px;
height: 200px;
background-color: pink;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
/*translate 如果x -50% 跟父亲没关系,是走自己盒子宽度的一半*/
/*translate 如果y -50% 跟父亲没关系,是走自己盒子高度的一半*/
}