【发布时间】:2012-04-06 05:19:31
【问题描述】:
与往常一样,我很难解释自己,所以我花时间创建了一个小演示: http://dl.dropbox.com/u/25916579/drawing.svg
一开始似乎很容易,但与往常一样,我在这里不知所措。我想 javascript 可能是一个解决方案,但我不在乎。
我确实找到了适用于 chrome 和 firefox 的解决方案,但不适用于 IE。
注意:我不关心对旧浏览器的支持。
这是我解决问题的尝试: http://jsfiddle.net/fLGUh/
如前所述,我确实得到了一个使用 chrome 和 firefox 的有效解决方案,但它并不完全完美。
在 IE 中查看此内容时,您会注意到底部的 #fill 未按预期运行。
如果您知道不涉及 javascript 的面糊方式,请告诉我。
最好的问候。
编辑: 只是为了好玩,我对 javascript 解决方案的外观进行了一些研究,显然它不像我最初想象的那么容易,所以如果你想搞怪,欢迎你。
编辑2: 在这一点上,我认为我不得不接受 javascript 解决方案可能是唯一的出路。实在是太糟糕了。我很讨厌 javascript...
编辑3: 已经提出了一个可行的 js 解决方案,并指出了我的一个主要缺陷。等我有时间我会回来完成这个。 在此之前,谢谢大家和最好的问候。
编辑4: 这正是我想要的:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
$(
function() {
var wh = $(window).height();
var m = (wh-540)/2;
if(wh > 540) {
$('#content').css('margin-top', m).css('margin-bottom', m);
}
}
);
</script>
<style type="text/css">
html, body {
margin: 0px;
padding: 0px;
background-color: black
}
#content {
width: 960px;
min-height: 540px;
background-color: #eeeeee;
margin-left: auto;
margin-right: auto;
}
</style>
</head>
<body>
<div id="content">test</div>
</body>
</html>
【问题讨论】:
-
你想达到什么目的?而不是'关心'javascript似乎有点愚蠢,因为我似乎觉得你希望垂直居中一些东西?这(要有效地做到)通常需要某种 js;虽然我仍然不太确定你想做什么..
-
我正在努力实现我所描述的。如果我做得不够好,请让我确切地知道您不理解的内容,以便我可以改进我对解释我的想法的微弱尝试。究竟为什么我不关心 JavaScript 是一个漫长且无关紧要的故事,但由于我已经非常接近在没有它的情况下解决问题,我希望它实际上是可能的。
-
您的解释只是一个带有规范的文档,但它并没有解释您要做什么。请多解释
-
对不起,我不明白。我已经尽力解释了这个问题(如果我失败了,请告诉我),现在我只需要一个解决方案。什么不见了?老实说,我不明白。
-
嗯,我还是觉得我不明白这个问题。它包含矛盾的陈述。比如说,内容是 900px 高。视口为 1000。您希望边距 (1000-540)/2 = 230。但要保持内容居中,边距应为 50px。
标签: html css internet-explorer firefox google-chrome