下列各种解决方案中的固定元素以实际为准,并非单纯设置 width 即可,理应加上 padding 和 border 方为准确的描述。
原理:
margin 大于等于定宽元素宽度优点:简单,易理解,兼容性好
缺点:定宽元素 width 需和自适应元素 margin 对应且固定
⚠️ 注意事项:
float: rightwidth: 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 大于等于定宽元素宽度