我通过书籍和网站自学CSS。我创建了一个简单的网站,其中有一个居中的框,后面是两列,它在Firefox 3和Safari 3中显示正常,但在IE7中却没有。我的右栏保持在右侧,但是向下推,以便从左栏结束的地方开始。我已经看过很多关于IE黑客的博客,但我不知道应该使用哪个,或者应该在我的代码中添加它。任何提示将不胜感激!
这是我的CSS:
#wrapper {
position:relative;
width:900px;
margin-right:auto;
margin-left:auto;
}
#centerbox {
background-color:#FFFFFF;
width:870px;
margin-left:auto;
margin-right:auto;
padding:10px 15px 10px 15px;
margin-bottom:30px;
text-align:left;
border:8px solid #E0BB24;
}
#leftcolumn {
float:left;
margin-left:10px;
width:410px;
padding:0px 10px 10px 10px;
color:#FFFFFF;
}
#rightcolumn {
width:395px;
margin-left:480px;
margin-right:10px;
padding:0px 15px 10px 10px;
background-color:#FFFFFF;
border:1px solid #26A9E0;
}
这是我的HTML:
<div id="centerbox" class="clear">
<h1>The physician's creed: "First, do no harm"</h1>
<h3>Politicians, policymakers, and public officials should take the same oauth</h3>
<p>Text</p>
</div>
<div id="leftcolumn">
<h2><img src="images/accept.png" alt="Putting Patients First" align="left"> </img>Putting Patients First</h2>
<p class="spaceafter"><a href="betterway.html">Read more about our idea of a better way to reform health care by putting patients first »</a></p>
<h2><img src="images/reject.png" alt="Principles for reform" align="left"></img>Principles for reform</h2>
<p class="spaceafter">Tell politicians in Washington you will follow these <a href="donoharm.html">principles</a> in judging any health reform proposal:</p>
<ul>
<li>No new government-run health insurance plan</li>
<li>No one-size government-dictated package of health benefits</li>
<li>No new jobs-killing mandates on employers</li>
<li>No requirement on individuals to buy this expensive coverage</li>
<li>No federal institution that controls private health insurance</li>
<li>No government intrusion into our medical privacy</li>
<li>No federal government control over the practice of medicine through a federal health board, comparative effectiveness review, and other government intrusions into doctor-patient medical decision-making</li>
</ul>
<p><a href="donoharm.html">Read more »</a></p>
</div>
<div id="rightcolumn">
<h2><img src="images/signpetition.png" alt="Sign the petition" align="left"> </img>Sign the petition</h2>
<p>Dear Policymaker: I stand with millions of Americans who implore you to follow the Do No Harm principles — and do NOT destroy America's health care system!</p>
<iframe height="920px" width="400px" name="zoho-Do_No_Harm_Petition" frameborder="0" scrolling="auto" src="http://creator.zoho.com/galeninstitute/do-no-harm-petition/form-embed/Do_No_Harm_Petition/reAUnSRw7O3sfWaOssaxgN91NbXFRYWUEQ8AZ5v803j2bVG4OHpFAXkvuUuqDVX9zxfg5YMSfMD9TTeqds1OE1kbYQqSSmYbFh6Z/"></iframe>
</div>
答案 0 :(得分:5)
我认为你错过了#rightcolumn
上的浮动#rightcolumn {
float: right;
}
您也可以从#rightcolumn中删除这些值。
margin-left:480px;
margin-right:10px;
答案 1 :(得分:3)
这是我为三列div做的(左,中,右都是div)
所有这三个都将是310px,中间10px(总计950px),你可以调整它以适合你的尺寸。
诀窍在于中间div,它基本上占用了整个“行”的空间,但是有足够的填充来清除在中间div上面“浮动”的左右div的内容。
#left
{
float: left;
width: 310px;
}
#middle
{
padding: 0px 320px 5px 320px;
}
#right
{
float: right;
width: 310px;
}