对于左右定宽中间自适应这种css布局,其实有很多实现方法,下面简单介绍几种,供大家参考;
绝对定位+margin
原理是将左右两边的div使用绝对定位分别定位到左右两边,中间的div使用margin属性,留出左右div的宽度,将其中间的div宽度设为100%即可,代码如图
flex布局(弹性盒子)
在外层包一层div,设置属性display:flex,里面的子元素设置属性flex:1,具体实现,看下图代码
float(浮动布局)
float布局将左右div分别浮动到左右,中间使用margin属性,留出左右的宽度,这个跟绝对定位布局有点相似,代码如下图
效果图:
总结:
实现这种左右定宽,中间自适应的css布局,其实有很多种实现方法,比如还有“圣杯布局”、“双飞翼布局”;个人比较推荐flex布局方式,这也是css3新属性,实现起来比较方便;如有疑问,欢迎在评论下方留言,大家一起讨论
css能不能实现左边div固定宽度,右边div自适应撑满剩下的宽度?
可以实现,并且方法很多,
最简单的方法就是用display: table, 不过不兼容ie7及其以下浏览器,但是现在可以放弃这些浏览器了
display: table
html, body{ height: 100% }
.box{ display: table; width: 100%; }
.left, .right{ display: table-cell; height: 100%; }
.left{ width: 300px; background: #f00 }
.right{ background:#ff0; }
固定宽度区
我自适应
也可以:固定宽度区使用绝对定位,自适应区设置margin
比如.left{ position:absolute; width:300px}
.right{ margin-left:300px}
还可以:float与margin配合使用
具体请自行尝试吧
css如何设置图片大小自适应?
1.用dw编辑器建立了一个静态页面
2.将建好的静态页命名为css.html,标题为了“css如何设置图片大小自适应”
3.在body中添加两个div,设置不能的宽度,并设class 为div1和div2,目的是用一样的css控制图片的宽度在不同的宽度容器中都能很好的显示
4.在两个div的class 中添加相同的控制图片的class名为了 ”img“,并为div添加控制宽度的样式
5.在两个div中加入相同的图片,在浏览器打开页面发现加入图片后把原来的div都给覆盖掉了
6.这个时候我们需要在img 类中加入限制图片的宽度的css语句让他自己适应容器的宽度.img img{ width:100%; height:auto}