2013-10-07 165 views

回答

1

新建答案

根据你送给我的,这是必需的CSS代码,使用旧的忠实位置绝对的方法。

#highlight_lose { 
    height: 300px; 
    width: 100%; 
    position: absolute; 
    top: 50%; 
    margin-top: -150px; 
} 
div.sad_smileyface { 
    width: 300px; 
    height: 100%; 
    position: relative; 
    margin: 0 auto; 
    ... 
    [your graphic styling code here] 
} 

需要注意的一点是,我将包含div的宽度设置为100%并将其居中为垂直。然后,我将孩子的笑脸div水平居中。这不是必须的,只是方法,我做到了。如果高度变化,调整#highlight_lose,如果宽度的变化,更新sad_smileyface

原来的答案

如果高度至少decalred(你的是),设置父容器为position: relative(只是为了确保),你应该可以在你的子div上使用margin: auto;。这应该跨浏览器IE 6工作。

其他选项包括做你的方法,通过设置边缘为负一半的高度和宽度。 margin: -275px -275px;。另外,CSS3的Flexbox模型也会解决这个问题,但是它的前缀很大,并且在任何地方都不受支持。

+0

这里是heppened我想这之后:http://jsfiddle.net/uqcLn/ 32/ – alonblack

+0

它为我工作,有没有办法可以简化你的jsfiddle。所有这些div和效果都很难找到必要的div。 – CP510

+0

它在这里:http://jsfiddle.net/uqcLn/35/ – alonblack

-1

http://jsfiddle.net/uqcLn/34/

这里是新的更新版本,您还可以设置保证金,而不是改造旧版本浏览器

+0

请在答案中附上代码 –

+0

根本不适用于我。笑脸仍然在角落里。 – CP510