带border的响应式布局
来源:互联网 发布:盟军敢死队 mac 编辑:程序博客网 时间:2024/04/28 04:49
击败边框:带border的百分比布局
(2013-12-03 14:00:06)转载▼
分类: html,css
响应式Web设计经常需要我们通过百分比设置组件宽度。如果我们不考虑边框,那么很容易就可以实现,但如果你给每一列以及总宽度都采用百分比设置,那这个时候固定的边框大小就会出来捣乱。下面我们将看到一组方法去解决这个问题,你会学到如何创建一个流式布局,而不用担心额外的边框以及内边距。
假设我们需要一个五列的布局。我们要考虑的第一件事就是外边距(margins).假设所有的列都需要4%的外边距,我们需要为所有的外边距保留20%(4%*5(5列)=20%)的占宽比;然后我们从总宽比(100%)里面减去20%,得到的就是所有列实际占的总宽比。所以每一列的占宽比即16%(80% /5)。下面是一个详细的图表:
相应的CSS代码如下:
.column{
}
对应的界面是:
当我们给每一列添加一个2px的边框时,问题出现了,如下图,最后一列被挤到下面去了。
解决方案当然应该是:在之前的计算中我们应该考虑到边框(border),但是我们怎么去做呢?结论是,我们不能用百分比去设置border边框的大小,只能用一个固定的值。因为如果所有的都使用百分比设置,那么我们留给border的空间也会是一个变化的值,也就是说当页面宽度变化时,border的值也会跟着变化,这样是有问题的。这使得我们没有办法去决定我们边框的宽度!
解决方案
设置CSS的box-sizing属性值为“border-box”,这样就会把borders和padding全都包含在定义的宽高里面。这就意味着一个带有2px边框的200px的div仍然宽度是200px!!是不是很神奇呢?
.column{
}
即使我们加上padding,也同样可以正常显示:
浏览器兼容性问题:
兼容性和上面的一样,除了IE需要8以上的版本,其他浏览器均可兼容,同时这个方法不会出现上面提到的阴影问题。
0 0
- 带border的响应式布局
- 击败边框:带border的百分比布局
- ext的border布局
- 使用JQuery插件Pinto 和Lightbox 制作带网格布局的响应式(Responsible)画廊(gallery)
- 响应式的列布局
- CSS3的响应式布局
- 响应式布局的知识
- 响应式布局的实现
- Boostrap的响应式布局
- 响应式布局的原理
- 响应式布局的概念
- 响应式布局的要素
- 响应式布局的方式
- 响应式布局的实现
- 响应式布局的实现
- 什么是响应式布局?以及响应式布局的有缺第
- Extjs的布局控件--border布局
- Android: TextView with border 带边框的TextView Border
- Java基础Day02测试题
- Replacing SQLite database while accessing it
- 关于npm的本地安装路径的问题?
- 究竟怎样写代码才算是好代码
- 正差值
- 带border的响应式布局
- 第52课: Spark大型项目广告点击项目数据建模
- JS原生 之------放烟花喽
- japan card
- NVIDIA PhysX SDK 3.3.4 Documentation User's Guide翻译 --The PhysX API
- C语言 计算某年某日是该年的第几天 014
- JSONP(手写一个跨域组件)
- CodeForces 623B【预处理+DP】
- 微信小程序破解版———给开发者真正的福利