2013-02-17 114 views
0

在CSS中,我从来没有真正理解为什么会这样,但每当我给你的东西margin-top:50%,元素被下推到页面的底部,几乎完全关闭页。我假设有50%,元素会在页面的一半。CSS百分比大小指定大小调整元件超过指定大小

这也与设置元素的宽度和高度属性发生。如果我将div的宽度设置为100%,则div的右侧会从可见屏幕消失,并且必须滚动才能看到它。

为什么这种情况发生,是有办法解决它?

编辑:

这是我的css代码。我也使用bootstrap,但这是我在bootstrap之外发现的一个问题。

html{ 
height:100%; 
min-height: 100%; 
min-width: 100%; 
} 
#button_container{ 
width:100%; 
clear:both; 
margin:0 auto; 
margin-top: 25%; 
} 

#donate_section, #contrib_section{ 
display:inline; 
} 
#contrib_section{ 
float:right; 
} 

锅炉板HTML标记:

<body> 
    <div id="someid"> 
     <div> 
      <a></a> 
     </div> 
     <div> 
      <a></a> 
     </div> 
    </div> 
</body> 
+0

为了避免疯狂猜测,您的代码的任何示例都将有助于找到答案。可以通过填充,位置,表... – Nebril 2013-02-17 03:37:15

+0

是的,我刚刚添加了我的css代码。 – barndog 2013-02-17 03:40:18

回答

1

看了这个,然后再读一遍:http://www.w3schools.com/css/css_boxmodel.asp

你的“宽”设置仅设置内容部分 - 所以你的总宽度内容+保证金+填充+边框。所以,如果宽度= 50%,那么你真的有更多的55%左右(正常的,小的边距/填充/边框)。如果你希望你的div在外部只占50%,你需要在其外部有50%的无填充/边距/边界div,或其他任何解决方案。

您也可能正在处理的事实,即浏览器的渲染是不完美的。如果你想避免滚动,你一般不应该使用100%的宽度。 (这也是很好的“Web 2.0”设计,如果你遵循那所学校 - 你应该从有一个可用性/可读性的立场双方的空白)。

编辑:另外,您%是相对于宽度,而不是高度。参见例如,CSS fluid layout: margin-top based on percentage grows when container width increases

+0

好吧,这是公平的,只要不使用100%去。但我觉得,当我说50%时,应该是90%。这部分不太合理。 – barndog 2013-02-17 03:44:53

+0

对不起,我的意思不应该是90%。我将这个立场设定为固定的,而且似乎已经修复了它。当我这样做时,div在页面的一半处。没有固定位置,div离开页面的底部。仍然不知道为什么。 – barndog 2013-02-17 03:53:42

+0

我的编辑可能是为什么...%是相对于宽度而不是高度,即使是像顶部/底部这样的“高”东西。 – Joe 2013-02-17 03:54:38

0

参考常常是“相对”的父元素。除非你正在谈论身体标签的第一个孩子。

+0

是的身体标记的第一个孩子。只是一个拥有两个div的div,每个div都有一个链接。 – barndog 2013-02-17 03:41:45