无法对齐<div>标记</div>

时间:2012-11-10 15:33:35

标签: css html alignment center

我在调整<div>代码时遇到了一些问题,如here所示。 布局如下:我有一个容器标题,在其中我有一个标题,一个页脚,在它们之间有两个左右div。我的问题是右边和右边的东西没有与中心对齐,即使他们想要从<body>标签继承它。

另外,由于某种原因,页面可以向右滚动一点,在那个小部分中,背景不会着色。

这是我的代码:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Rock-paper-scissers</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<script src="rps.js"></script>
<style type="text/css">
body{
    width: 100%;
    font: 100.01% "Trebuchet MS",Verdana,Arial,sans-serif;
    background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#93e1d1), to(#d4c87c));
    background-image: -webkit-linear-gradient(left, #93e1d1, #d4c87c); 
    background-image: -moz-linear-gradient(top, #93e1d1, #d4c87c);
    background-repeat: no-repeat;
}
div#footer {
    width: 100%;
}
div#container {
    text-align: center;
}
div.InnerLeft {
    width: 50%;
    position: relative;
    float: left;
}
div.InnerRight {
    width: 50%;
    position: relative;
    float: right;
}
select {
    background: transparent;
    width: 220px;
    padding: 5px;
    font-size: 16px;
    border: 0px;
    height: 34px;
}
img#andale {
    margin-left: auto;
    margin-right: auto;
    margin-left: 100px;
}
</style>
</head>
<body>
<div id="container">
<img src="header.png">
<div class="InnerLeft">
<img src="uno.png"><br>
<select id="p1" onchange="change('p1','rpsleft')">
<option value=0>Choose your weapon</option>
<option value=1>Rock</option>
<option value=2>Paper</option>
<option value=3>Scissors</option>
</select>
<p><img src="rpsL.png" id="rpsleft"></p>
</div>
<div class="InnerRight">
<img src="dos.png"><br>
<select id="p2" style="margin-left:45%;" onchange="change('p2','rpsright')">
<option value=0>Choose your weapon</option>
<option value=1>Rock</option>
<option value=2>Paper</option>
<option value=3>Scissors</option>
</select>
<p><img src="rps.png" id="rpsright" style="margin-left:45%;"></p>
</div>
<div id="footer">
<img src="andale.png" id="andale" onclick="rps(document.getElementById('p1').value,document.getElementById('p2').value)"
onMouseOver="document.getElementById('andale').src='andale2.png'"
onMouseOut="document.getElementById('andale').src='andale.png'">
</div>
</div>
</body>

我有什么想法可以解决这两个小问题?

谢谢!

P.S。我厌倦了将图像源设置到我的Dropbox和google驱动器帐户,以便可以在jsFiddle上看到它们,但它不起作用。关于我可以使用哪个网站的任何建议?

1 个答案:

答案 0 :(得分:0)

好的,还有一些小事......

(样本:http://jsfiddle.net/mori57/cr8s8/29/

<!-- for one, without a specified width and height
     the browser doesn't know how to flow the other elements
     around this object ... I used placehold.it to show you what
     happens if you put in an object with actual dimensions -->
<img src="http://www.placehold.it/400x50">

如果没有指定尺寸的图像,因为浏览器无法加载图像,浏览器会将其默认为非常小的图像,并且第一个浮动包装在它前面,如float:left要求。

您/可以/将这些浮动包装在容器中,并强制清除:两者都避免浮动在标题图像前面。

其次:

    <!-- Your extra space was due to the margin-left you shimmed onto 
         this select tag. If you take it out, the extra horiz
         scrolling goes away -->
    <select id="p2" onchange="change('p2','rpsright')">

请记住,带有边距/内部/另一个容器的对象/可以/“戳穿”容器的边框。因此,它将其边缘添加到其容器的边缘,并将其自身推过其容器的“墙壁”,增加了所需的水平空间。