HR宽度100%问题
HR width 100% issue
你能告诉我如何将内容宽度限制在屏幕边界吗?对于下面的脚本,我总是得到比屏幕(允许的空间)宽度宽2px的宽度。
document.body.scrollWidth始终比屏幕宽2倍
<html>
<head>
<style>
* {margin: 0; padding: 0}
</style>
<script type="text/javascript">
function test(){
alert(document.body.scrollWidth);
alert(document.getElementById("hrtest").scrollWidth);
alert(document.getElementById("divtest").scrollWidth);
alert(screen.width);
}
</script>
</head>
<body onLoad="test()">
<div id="divtest">
<hr size="2" width="100%" id="hrtest" />
</div>
</body>
</html>
hr {
border-right : 0;
border-left: 0;
}
应该这样做。您可能希望为样式添加重要内容,或者遍历文档中的所有hr并设置内联样式。
我认为问题是浏览器添加了一个1像素的边界来构建hr。用chrome检查hr会向我们显示默认应用于所有hr的以下样式:
display: block;
-webkit-margin-before: 0.5em;
-webkit-margin-after: 0.5em;
-webkit-margin-start: auto;
-webkit-margin-end: auto;
border-style: inset;
border-width: 1px;
禁用border-width: 1px;
会得到预期的结果,但会隐藏hr。无论如何,删除hr的宽度有效:p
(水平行)HTML的默认用户代理样式表元素是:
hr {
display: block;
-webkit-margin-before: 0.5em;
-webkit-margin-after: 0.5em;
-webkit-margin-start: auto;
-webkit-margin-end: auto;
border-style: inset;
border-width: 1px;
}
如果您想修复HTML文档的水平滚动,请遵循以下解决方案:
解决方案#1:
hr{
width: 100%;
box-sizing: border-box;
}
解决方案2:
hr{
width: 100%;
border-left: 0px;
border-right: 0px;
}
将边框宽度设置为0将解决此问题。
http://jsfiddle.net/chuckplayer/AuC8b/
* {margin: 0; padding: 0; border: 0}
<div id="divtest" width="100%">
<hr size="2" width="100%" id="hrtest" />
</div>
alert(document.body.scrollWidth);
alert(document.getElementById("hrtest").scrollWidth);
alert(document.getElementById("divtest").scrollWidth);
如果您真的希望<hr>
与body
的确切宽度匹配,那么我建议隐藏<hr>
的边框样式,并使用background-color
和height: 1px
。您可以在此处查看代码:http://jsfiddle.net/helpinspireme/fg6Mp/3/
CSS
hr{
border-style: none;
background: #000;
height: 1px;}
jQuery
var body_width = $('body').width();
var div_width = $('div').width();
var hr_width = $('hr').width();
alert(body_width);
alert(div_width);
alert(hr_width);
HTML
<div>
<hr/>
</div>
使用如下表:
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td>
<!-- your htlm block -->
</td></tr>
<tr><td style="border-bottom: 1px solid black;" height="50">
</td></tr>
</table>
您可以使用行的高度或使用border-top,每次您需要一个小时时将该行添加到您的表中
相关文章:
- 在指令控制器中使用$attrs时出现问题
- 将PHP变量传递给jQuery时遇到问题
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- 参数变量出现ngTable指令问题
- 剑道网格jQuery动画()问题
- 我的jQuery插件参数没有正确启动,遇到了问题
- Phonegap-(安卓/iphone)多个图像的图像库出现问题
- TableExport jquery插件:文件名和扩展名问题
- JavaScript Pub/Sub属性访问问题
- JavaScript异步问题
- Dreaded 100%边栏高度-jQuery修复,但另一个问题出现了
- Javascript问题,脚本只能100%使用alert();到位ODD
- 100%的高度在主体和html创建滚动问题
- 在mousedownevent上从1-100生成10个随机整数时遇到问题
- 安卓平板电脑-Chrome浏览器/本地浏览器:地址栏和固定高度(100%)问题
- HR宽度100%问题
- PHP会话问题,不是100%的工作时间
- 使用Javascript将DIV高度设置为100%导致跨浏览器问题
- jQM ui-content 100%高度问题
- 100多张图片的图片src-iOS应用程序大小问题