首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试让三个分区并排进行

尝试让三个分区并排进行
EN

Stack Overflow用户
提问于 2012-12-14 02:14:13
回答 3查看 79关注 0票数 0

这是我当前的代码,但我看不出有什么问题。我是html的新手,所以我不是很确定。我想在左边有一列大约20%的空间,中间的列占60%的空间,右边的列占20%的空间。

代码语言:javascript
复制
#wrapper {
    background-color: #788D9A;
    padding-bottom: 1000px;
    margin-bottom: -1000px;
}

#mainleft {
    width: 20%;
    float: left;
    padding: 10px;
    text-align: center;
    background-color: #ABB8C0;
    padding-bottom: 1000px;
    margin-bottom: -1000px;
    border-right: solid black;
    display:inline-block;
}

#maincenter {
    width: 60%;
    float: left;
    overflow: hidden;
    text-align: center;
    padding: 10px;
    padding-bottom: 1000px;
    margin-bottom: -1000px;
    display:inline-block;


}

#mainright {
    width: 20%;
    float: left;
    padding: 10px;
    text-align: center;
    background-color: #ABB8C0;
    padding-bottom: 1000px;
    margin-bottom: -1000px;
    border-right: solid black;

}
EN

回答 3

Stack Overflow用户

发布于 2012-12-14 02:18:15

在使用padding-left padding-right margin-left margin-right border-leftborder-right时,当您需要该类型的布局时,您需要小心。

这些样式中的每一个都会影响该元素的整体宽度,因此添加padding: 10px实际上会使您的div width = 20% + 20px

如果您想让内部填充和边框样式成为内部div

示例:

HTML

代码语言:javascript
复制
<div id="wrapper">    
    <div id="mainleft">
        <div>L</div>
    </div>
    <div id="maincenter">
        <div>C</div>
    </div>
    <div id="mainright">
        <div>R</div>
    </div>
</div>​

CSS

代码语言:javascript
复制
#wrapper {
    background-color: #788D9A;
}

#wrapper > div
{
    height: 1000px;
    float: left;
    text-align: center;
}

#mainleft {
    width: 20%;    
    background-color: #ABB8C0;
}

#maincenter {
    width: 60%;
}

#mainright {
    width: 20%;
    background-color: #ABB8C0;
}

#maincenter > div
{    
    height: 1000px;
    border-left: solid black;
    border-right: solid black;
}

#mainleft > div, 
#maincenter > div,
#mainright > div
{
    padding: 10px;
}

或者,您可以使用box-model样式:

代码语言:javascript
复制
.box
{
    box-sizing: border-box;
    ms-box-sizing: border-box;
    webkit-box-sizing: border-box;
    moz-box-sizing: border-box;
}

更多信息:http://www.quirksmode.org/css/box.html

票数 2
EN

Stack Overflow用户

发布于 2012-12-14 02:41:55

display: table属性似乎是这里的最佳选择。你可以得到等高的列(我假设这就是疯狂的底部边距/填充的用途),没有额外的标记和填充,而不必担心调整框模型(在这里了解更多关于框模型的信息:http://css-tricks.com/the-css-box-model/)。

http://jsfiddle.net/b62Ju/3/

代码语言:javascript
复制
#wrapper {
    display: table;
    width: 100%;
}

#wrapper > div
{
    display: table-cell;
    padding: 1em;
}

#mainleft {
    width: 20%;    
    background-color: orange;
}

#maincenter {
    width: 60%;    
}

#mainright {
    width: 20%;
    background-color: green;
}
票数 1
EN

Stack Overflow用户

发布于 2012-12-14 02:20:20

如果我们需要并排放置三次潜水供你参考,

HTML:

代码语言:javascript
复制
<div class="main">
    <div class="left">...</div>
    <div class="center">...</div>
    <div class="right">...</div>
</div>

CSS:

代码语言:javascript
复制
.main {
    width: 1000px;
    float: left;
    display: inline-block;
}

.left {
    width : 20%;
    float: left;
    display: inline-block;
}

.right {
    width : 20%;
    float: left;
    display: inline-block;
}

.center {
    width : 60%;
    float: left;
    display: inline-block;
}

看起来不错。

我认为在你的代码中你需要设置主要包装器div的宽度。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13865914

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档