css - css 中的 bulletproof width hack 将涵盖所有内容,包括 Safari?

标签 css google-chrome firefox safari

我一直在使用这个类来适本地拉伸(stretch) div 和输入以适应可用空间,而不会因为填充而溢出,就像 -moz-available 那样。

它适用于 Firefox、Chrome、Opera。

不幸的是,Safari 似乎是唯一无法与它相处的浏览器。

.width {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
width: -moz-available;
width: -webkit-fill-available;
}

有什么我可以添加到这里以使其与 Safari 一起工作吗?

最佳答案

width: 100% 声明在 Safari(和其他浏览器)中工作得很好。 width: 100% 和 width: available 声明之间的区别是前者应该与 box-sizing: border-box 一起使用以防止溢出,而后者可以不使用 box-sizing: border-box 声明。因此,您的类可以重写如下,它应该在 Safari 中工作:

.width {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box: 
    width: 100%;
}

关于css - css 中的 bulletproof width hack 将涵盖所有内容,包括 Safari?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24347230/

相关文章:

css - mozilla,用第二个新样式更改第一个 css 样式时遇到问题

javascript - 一个好的 jQuery 投影插件?

html - 图片链接在 block 内时不起作用

css - 浏览器视口(viewport)在浏览器之间是不同的

html - 如何为 Chrome 中的颜色输入启用浏览器特定的颜色选择器?

javascript - 是否可以在 Chrome android 上不显示地址栏的情况下显示键盘?

selenium - 在 Docker 容器中执行 Firefox 浏览器进行 Selenium 测试

css - Webkit 在单个文本字符上方添加不需要的额外空间

javascript - 如何在同步 JavaScript 运行时显示 CSS 加载器

jquery - 使用 jquery 修改 .css 高度或宽度基于哪个更大