下列各种解决方案中的固定元素以实际为准,并非单纯设置 width
即可,理应加上 padding
和 border
方为准确的描述。
原理:
margin
大于等于定宽元素宽度优点:简单,易理解,兼容性好
缺点:定宽元素 width
需和自适应元素 margin
对应且固定
⚠️ 注意事项:
float: right
width: 100%
和左外边距 margin-left
绝对值需要大于等于左边栏 width
才能上移一行margin-left
大于等于钉款元素 width
才不会遮挡左边栏原理:
定宽元素浮动,自适应元素触发 BFC 达到自适应。
原理:CSS Table 以表格的形式显示。
优点:
缺点:
margin
失效table-cell
的元素,宽度和高度的值设置百分比失效,需要给它的父元素设置 display: table
才生效table-cell
不感知 margin
,在父元素上设置 table-row
等属性,也会使其不感知 height
设置 float
或 position
会对默认布局造成破坏,可以考虑为之增加一个父 div
定义 float
等属性原理:利用绝对定位算好宽高固定好两个盒子的位置。
优点:
缺点:
width
需要与自适应元素的反方向值对应,如 left
缺点:PC 端兼容性不好
优点:
缺点:
margin
大于等于定宽元素宽度