我遇到了一个我不知道哪里出错的问题。我的代码在这里:
<html>
<head>
<style type="text/css">
#top{
width:100%;
height: 78%;
background-color: #ccc;
}
#left{
width: 45%;
height: 100%;
display: inline-block;
background-color: green;
}
#right{
width:50%;
height: 100%;
display: inline-block;
background-color: pink;}
</style>
</head>
<body>
<div id="top">
<div id="left">
<div id="inside">asd</div>
</div>
<div id="right"></div>
</div>
</body>
</html>
如果我没有向“inside”div添加任何东西,那么布局就没问题了,就像这样:
但如果我在“内部”开发中添加任何标签甚至几个单词,布局就会出错。
我是HTML的新手,所以我不知道问题,谁能告诉我为什么会这样?我被逼疯了!!!求助~~~~ :(
答案 0 :(得分:1)
您可以使用float(请参阅其他答案),但如果您不想,则不必使用。
#left, #right { vertical-align:top; }
会得到你想要的东西。
除此之外:您应该将<!DOCTYPE html>
添加到页面顶部。在这种情况下,您还需要添加
html, body { height: 100% }
到您的CSS。
答案 1 :(得分:0)
您遇到block
和inline
的问题。当文本出现时,浏览器将内部div
放入block
显示中,这会破坏inline
样式。我不确定使用inline-block
是否有一个简洁的方法 - 我估计你必须使用float
。
以下是适用于您的标记的float
解决方案:
<html>
<head>
<style type="text/css">
#top {
width:100%;
height: 78%;
background-color: #ccc;
}
#left {
background:green;
float:left;
height:100%;
width:45%;
}
#right {
background:pink;
height:100%;
margin-left:45%;
width:50%;
}
</style>
</head>
<body>
<div id="top">
<div id="left">
<div id="inside">asdf</div>
</div>
<div id="right"></div>
</div>
</body>
</html>
此外,请注意CSS height
。这是令人头疼的等待发生。
答案 2 :(得分:0)
试试这个:
#right{
width:50%;
height: 100%;
display: inline-block;
background-color: pink;
float:right;}
答案 3 :(得分:0)
还可以通过向元素
提供float
来获得它
#left {
width: 45%;
height: 100%;
/* display: inline-block; */
background-color: green;
float: left;
}
答案 4 :(得分:0)
您可以通过在css中添加float属性来解决此问题。
在下面找到更新的html模板
<html>
<head>
<style type="text/css">
#top{
width:100%;
height: 78%;
background-color: #ccc;
}
#left{
width: 45%;
height: 100%;
float: left;
background-color: green;
}
#right{
width: 50%;
height: 100%;
float: left;
background-color: pink;}
</style>
</head>
<body>
<div id="top">
<div id="left">
<div id="inside">test new</div>
</div>
<div id="right">test</div>
</div>
</body>
</html>
答案 5 :(得分:0)
我建议您使用twitter bootstrap进行div的布局。 使用他们的CSS表。
<div id=top class=row-fluid>
<div id=right class=span6><div>
<div id=left class=span6><div>
</div>
块的放置比使用内联块更容易。获得示例中显示的内容就是添加背景颜色。浮动很容易变得难以处理。