栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

CSS Calc替代

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

CSS Calc替代

几乎总是

box-sizing: border-box
可以替换计算规则,例如
calc(100% - 500px)
用于布局。

例如:

如果我有以下标记:

<div >sideBar</div><div >content</div>

而不是这样做:(假设边栏为300px宽)

.content {  width: calc(100% - 300px);}

做这个:

.sideBar {     position: absolute;      top:0;     left:0;     width: 300px;}.content {    padding-left: 300px;    width: 100%;    -moz-box-sizing: border-box;    box-sizing: border-box;}* {  margin: 0;  padding: 0;}html,body,div {  height: 100%;}.sideBar {  position: absolute;  top: 0;  left: 0;  width: 300px;  background: orange;}.content {  padding-left: 300px;  width: 100%;  -moz-box-sizing: border-box;  box-sizing: border-box;  background: wheat;}<div >sideBar</div><div >content</div>

PS: 我不会在IE 5.5(hahahaha)中工作,但它将在IE8+,所有移动设备和所有现代浏览器(caniuse)中工作

我刚刚从Paul Irish的博客中找到了这篇文章,他还展示了框大小作为简单calc()表达式的一种可能选择:(粗体是我的)

边框可以很好地解决边界框问题,这是我最喜欢的用例之一。我可能想用50%或20%的列划分网格,但想通过px或em添加填充。
没有CSS即将发布的calc(),这是不可能的……除非您使用border-box

注意: 以上技术确实与相应的calc()语句看起来相同。虽然有区别。使用calc()规则时,内容div的宽度值实际为

100% - width offixed div
,但是使用上述技术,内容div的实际宽度为全100%宽度,但 外观 为“填满”剩余宽度。(这可能足以满足大多数人的需求)

也就是说,如果内容div的宽度实际上 是很重要的

100% - fixed div width
那么可以使用另一种技术-
利用块格式化上下文

1)浮动固定宽度div

2)在内容div上设置

overflow:hidden
overflow:auto



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/432552.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号