【发布时间】:2014-04-15 02:59:59
【问题描述】:
相关问题不包含有用的答案。
我正在尝试为宽度为 2000 像素(足以覆盖大多数大屏幕)但居中的网站创建标题栏,但我也不想要父容器 div(即位于左侧 50%) 以导致浏览器水平溢出。
我不能只在 html 或 body 标签上“隐藏溢出”,因为我没有声明特定的宽度(并且声明 100% 不会隐藏溢出)。
我的代码如下所示:
<body>
<div id="navbgout">
<div id="navbg"></div>
</div>
#navbgout {
width:2000px;
height:60px;
position:relative;
left:50%;
}
#navbg {
width:2000px;
height:80px;
position:relative;
left:-50%;
background-image:url("images/header_bg.png");
}
我尝试在它周围放置另一个父容器以提供溢出:隐藏,但没有任何效果。如果我将该父级设置为 100% 宽度,它不会屏蔽。如果我将其设置为以像素为单位的固定值,则它不会自反地调整大小。
这尤其令人烦恼,因为 iPad 的移动 Safari 会将这个“溢出”宽度读取为真实宽度,并将页面拉远以适应它。
【问题讨论】:
-
您可以随时尝试设置屏幕的最小宽度。这样您就可以分配宽度并可以将溢出设置为隐藏。如果这不起作用,也许考虑使用 em 而不是 px 或 %。甚至vh and vw 也可能适用于更现代的浏览器。
-
min-width 和 % 不会隐藏溢出。 ems 只是一种不同的精确测量值,如像素。
-
ems 比 px 响应更快,通常设置宽度是我可以将过度滚动设置为隐藏的原因。如果没有宽度过度滚动隐藏将不起作用。
-
而且...这会起作用...如果我知道图像有多大在 ems 中, 否则它会错误地剪辑或居中。
-
如果您知道图片大小(以 px 为单位),可以尝试使用 tool。如果这不起作用,您是否尝试将 body 设置为
width:100vw; overscroll:hidden;?