html - 如何计算固定宽度页面未使用空间的宽度?

标签 html css

我是 CSS 新手,需要一些建议。我有一个 DIV,其中包含固定宽度(1140 像素)的网页内容和居中的绿色背景。

{position: relative; width: 1140px; height: 2000px; top: 0px; z-index:1; margin: 0px auto }

我现在想要实现的是两侧的 2 个 div,其中只包含网页颜色渐变为白色。所以屏幕的边框是白色的,它与中央 div 相交的地方是绿色的。我知道线性渐变属性。问题是我不知道这些 DIV 的宽度。有没有办法让它们相对于中央 DIV,以便它们将整个剩余空间填充到侧面,或者我必须计算它?

有人对此有一个简单而优雅的答案吗?

非常感谢

最佳答案

是的,有一种方法可以完全填满剩余的空间。您可以使用 calc 在您的 css 中进行简单的计算,并且有一个测量单位 vw 可以派上用场。

100 vw = 视口(viewport)宽度的 100%

因此,如果您知道中心 div 始终为 1140 像素,则可以像这样轻松计算侧面 div 的宽度:

width: calc((100vw - 1140px)/2); 

现在的浏览器支持应该相当不错了:

旁注,考虑使用伪元素 :after:before 而不是仅为样式添加额外的 div,这被认为是不好的做法。您应该只为样式添加标记。

我将如何做的一个小演示: http://jsfiddle.net/669t4s3L/

关于html - 如何计算固定宽度页面未使用空间的宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27580827/

相关文章:

html - 无需javascript根据其中的文本更改div的高度

JQuery 在重定向之前检查哪个输入文本框的边框颜色是红色

html - 以滑出 div 的方式 float 图像

html - Flexslider z-index 定位在顶部

html - CSS GRID - 具有空单元格和自动放置的网格模板区域

html - 跨浏览器字体问题

javascript - Jquery脚本将图像 map 区域的标题放入文本输入表单?

css - wordpress 注册页面 - 为它创建一个样式表

javascript - 目标 wpcf7mailsent 的特定联系人 7 表单

html - 如何使线性渐变在 IE9 中工作