CSS实现三栏网页宽度自适应

作者: 小乌龟变王八 | 来源:发表于2017-06-02 21:42 被阅读124次

CSS实现三栏网页宽度自适应

CSS实现三栏网页宽度自适应
  • 绝对定位+margin:不推荐使用

思路:

左右两栏采用绝对定定位,分别固定在页

面的左右两侧,中间主栏不设置宽度,用

左右margin值撑开距离,于是实现三栏自

适应布局

绝对定位+margin

优点:理解容易,上手简单,受内部元素

影响而破坏布局概率低

缺点:如果中间栏含有最小宽度限制,或是

含有宽度内部元素,当浏览器宽度小到一定

程度,会发生重叠的情况;比较死板,牵一发

而动全身.而且如果非自适应的栏度高度超

过自适应的栏高度,并不能撑开底下的footer

  • 负margin+float

思路:

三栏均为float:left;首先中间的主题使用双标

签,外层div宽度100%显示,并margin-left,

margin-right为-200px意味着原本应在的位置

可以向左和向右再占200px(width仍然占着

100%的宽度,只是不用换行去占这么大地了)

则此时3栏位于同一行,且左栏与中间栏左侧

重叠,右栏与中间栏右侧重叠,只要再将中间栏

的数据左右往里各挤200px即可,所以中间栏

中再加了个div,设其margin:0 200px即可

负margin+float
  • margin+float

思路:左右两栏分别设置左和右浮动,中间

栏设置左右的margin适配左右两栏的宽度,

因为左右两栏固定宽度的,所以中间的区域

宽度就可以根据margin做到自适应了,但是

需要注意的有两点,一点是中间栏需要最后

声明,这一点十分重要因为你中间栏的宽度

自适应,所以他会自动的填满整个宽度,这

样会导致右边栏空间不足,浮动到下一行,

第二点是中间栏的左右margin一定要适配左

右两栏,因为浮动元素脱离文档流,但是元

素中的内容是在文档流中的,所以就会导致

中间栏填满整个width,而浮动元素中的内

容却在文档流中的奇怪效果

margin+float

前三种若要在最外层包裹一个div,div的最

高度取决于三个子元素中最高的高度:

只要在3栏外面容器加上overflow:hidden,

然后分别给三栏加上:margin-bottom:-

height;padding-bottom:height;即可。但是有

个BUG:IE7不work

  • css3新特性:flex布局---推荐使用
flex布局

最外层包裹的div的高度可以取决于三个子元

素中最高的高度,只需要在#box里面加上

align-items: flex-start;即可flex使用起来简单

方便,网页布局最好用它,具体语法参考

Flex布局

相关文章

  • CSS实现三栏网页宽度自适应

    CSS实现三栏网页宽度自适应 绝对定位+margin:不推荐使用 思路: 左右两栏采用绝对定定位,分别固定在页 面...

  • CSS3实现常见的自适应布局,弹性布局

    CSS 右侧自适应宽度 中间自适应宽度 底部自适应高度 注意: flex-direction: column;

  • 常见技术问题及答案(一)

    一、用CSS实现右边宽度固定,左边自适应 .box{ display:flex; } .left{ w...

  • CSS布局&居中&媒体查询

    1.CSS布局 实现一个两栏布局,右侧固定宽度200px,左侧自适应宽度 浮动元素 + 普通元素margin 实现...

  • css布局

    1.CSS布局 实现一个两栏布局,右侧固定宽度200px,左侧自适应宽度 浮动元素 + 普通元素margin 实现...

  • 网页左右自动自适应居中

    网页左右自动自适应居中 html部分 我在中间,而且是随着内容宽度自动左右居中,无须你操心。 css部分 #tes...

  • 初级前端css面试题整理

    1 css部分 1.怎么实现三列布局(左侧和右侧宽度固定,中间自适应) 3中方式: a:左右绝对定位,中间不给宽度...

  • 2017-11-08【左中右三栏布局】

    关于CSS的三无原则:无浮动,无宽度,无图片。 实现效果:左右两栏宽度固定或设置百分比,中间一栏宽度自适应。 方法...

  • 前端测试题

    HTML+CSS 1.div垂直水平居中?2.css盒子模型包含哪些?3.如何实现左边固定宽度右边自适应?4.什么...

  • vw 单位 android 4.4 下的一个小bug

    CSS3 vw 单位 100vw = 100% 视窗宽度100vh = 100% 视窗高度 这样实现自适应正方形(...

网友评论

    本文标题:CSS实现三栏网页宽度自适应

    本文链接:https://www.haomeiwen.com/subject/nytpfxtx.html