1.让人更容易读懂(增加代码可读性)
2.让搜索引擎更容易读懂(SEO(搜索引擎优化) )
块状元素:
display:block/table;有div h1 h2 table ul ol p等 (独占一行)
内联元素:
display:inline/inline-block;有span img input button等
offsetWidth = (内容宽度+内边距+边框),无外边距
margin-top和margin-left负值,元素向上、向左移动
margin-right负值,右侧元素左移,自身不受影响
margin-bottom负值,下方元素上移、自身不受影响
block format context 块极格式化上下文
块级格式化上下文 一块独立渲染区域,内部元素的渲染不会影响边界以外的元素
形成条件: 1.float不是none 2.position是absolute或fixed 3.overflow不是visible 4.display是flex inline-block等
BFC的应用:清除浮动
某一段文字……
三栏布局,中间一栏最先加载和渲染
两侧内容固定,中间内容随着宽度自适应
一般用于PC网页
1.使用float布局
2.两侧使用margin负值,以便和中间内容横向重叠
3.防止中间内容被覆盖,外层container一个用padding来留白,一个用margin来留白
圣杯布局
this is center
this is left
this is right
双飞翼布局
this is main
this is left
this is right
/* 手写 clearfix */
.clearfix:after {
content: '';
display: table;
clear: both;
}
relative 依据自身定位
absolute依据最近一层定位元素定位
水平居中:
1. inline元素:text-align:center
2. block元素:margin:auto
3. absolute元素:left:50% + margin-left负值(需要知道子元素的宽)
position: absolute;
left: 50%;
margin-left: -150px;
垂直居中:
1.inline元素:line-heigh的值等于height值
2.absolute元素:top:50% + margin-top负值(需要知道子元素的高)
position: absolute;
left: 50%;
margin-left: -150px;
top: 50%;
margin-top: -50px;
3.absolute元素:transform(-50%,-50%)
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
4.absolute元素: top,left,bottom,right=0 + margin:auto
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
margin: auto;
1.写具体数值,如30px,则继承该值
2.写比例,如1.5,则继承该比例,line-height:24px
3.写百分比,如200%,则继承计算出来的值 font-size *line-height的百分比