在完成百度IFE任务五时,遇到一个布局问题,百思不得其解。
问题是这样的:任务五是一个两栏布局,左栏自适应,右栏固定宽度。我的解决方式是:右栏固定宽度,float:right,左栏通过margin-right设置一定的右外边距,这样完成了布局。然而测试时,发现浏览器窗口在非常小的时候,左栏会被无限挤压,内容布局发生变化,很难看。在踩了很多坑后,发现只要设置一个min-width,就可以保证内容不会被无限挤压。
min-width:
在网页中,如果一个元素没有设置最小宽度(min-width),这时当浏览器缩小到一定程度时,元素中的布局可能会发生变化。如果想要保持布局不变,可以给该元素(如div)设置最小宽度属性,比如:
<style> #footer { min-width:960px; /* 最小宽度设置为960像素,当浏览器宽度小于该值时,该元素不再自适应,而是部分元素被遮挡住。*/ } </style>
<div id="footer"></div>
值 | 描述 |
---|---|
length | 定义元素的最小宽度值。默认值:取决于浏览器。 |
% | 定义基于包含它的块级对象的百分比最小宽度。 |
inherit | 规定应该从父元素继承 min-width 属性的值。 |
浏览器兼容:IE、Firefox、Chrome、Safari、Opera
注释:任何版本的 Internet Explorer (包括 IE8)都不支持属性值 "inherit"。所有主流浏览器都支持 min-width 属性。