前端经典布局双飞翼和圣杯布局的实现
圣杯布局
css
1 | * { |
html
1 | <header> |
原理
布局将main放在最前面让其最先渲染
给main left right设置float: left和position: relative;
给aside,和main设置宽为100%让main达到自适应
利用margin-left设置负值让left(margin-left: -100%;)和right(margin-left: -200px(right自身宽度))从而实现左右布局
给aside设置padding: 0 200px;让其内容不被覆盖
双飞翼布局
css
1 | * { |
html
1 | <header>header</header> |
原理
原理与圣杯布局类似
但是不用相对定位
在main中多一个div标签(也可以给main设置box-sizing: border-box;来代替标签)
利用margin-left设负值拉回,区别与圣杯布局margin-left设置在main上
子绝父相的方法实现
css
1 | * { |
html
1 | <header>header</header> |
原理
子绝父相可是说是布局中的万精金油了
给aside相对定位,left和right设置绝对定位,给main宽度设置100%
然后给left设置top: 0; left: 0;和right设置top: 0; right: 0;定位左右
给aside设置padding: 0 200px;
flex布局实现(原来可以如此简单)
css
1 | * { |
html
1 | <header> |
原理
给aside设置display: flex;
给main设置flex-grow: 1(flex:1)让其分剩余的宽度达到main自适应
再给left和right设置flex-basis属性设置其宽度,给left设置order属性为-1默认0达到left在第一个的目的
Δ~~~~Δ
ξ •ェ• ξ
ξ ~ ξ
ξ ξ
ξ “~~~~〇
ξ ξ
ξ ξ ξ~~~ξ ξ
ξ_ξξξ ξξξ_ξ
ヽ(´•ω•)ノ
| /
UU”
本文结束谢谢大家的阅读