首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在1内对齐3个div?

如何在1内对齐3个div?
EN

Stack Overflow用户
提问于 2013-07-23 06:52:00
回答 3查看 579关注 0票数 2

我希望我的div的边框看起来像这样

代码语言:javascript
运行
复制
                        outer div #info
 ------------------------------------------------------------
 | |-----------------||-----------------||-----------------||
 | |                 ||                 ||                 ||
 | |                 ||                 ||                 ||
 | |                 ||                 ||                 ||
 | |      1 inner    ||      2 inner    ||     3 inner     ||
 | |        div      ||        div      ||       div       ||
 | |                 ||                 ||                 ||
 | |  #leftpannel    ||  #centerpannel  ||  #rightpannel   ||
 | |                 ||                 ||                 ||
 | |                 ||                 ||                 ||
 | |-----------------||-----------------||-----------------||
 |----------------------------------------------------------|

但是当我把它放到浏览器中时,它看起来像是

代码语言:javascript
运行
复制
 ------------------------------------------------------------
 |                    |-----------------||-----------------||
 |                    |                 ||                 ||
 |                    |                 ||                 ||
 |                    |                 ||                 ||
 |                    |      2 inner    ||    3 inner      ||
 |                    |        div      ||      div        ||
 |                    |                 ||                 ||
 |                    |                 ||                 ||
 |                    |                 ||                 ||
 |                    |                 ||                 ||
 |                    |-----------------||-----------------||
 ||------------------|--------------------------------------|
  |                  |                   
  |                  |
  |                  |
  |                  |
  |      1 inner     |
  |        div       |
  |                  |
  |                  |
  |                  |
  |                  |
  |------------------|

这是我的css

代码语言:javascript
运行
复制
#rightpannel
{
   width:32%;
   float:right;
   height:390px;
   border: solid;
   border-width:1px;
   border-color:green;
}
#centerpannel
{
    width:32%;
    display:inline;
    margin-left:auto;
    margin-right:auto;
    height:390px;
    border: solid;
    border-width:1px;
    border-color:green;
}
#leftpannel
{
    width:32%;
    float:left;
    height:390px;
    border: solid;
    border-width:1px;
    border-color:green;
}
#info
{
    width:92%;
    height:400px;
    border: solid;
    border-width:1px;
    border-color:red;
    margin:0 auto;
    padding-left: 5px;
    padding-right: 5px;
    padding-top: 5px;
    padding-bottom: 0px;    
}

这是我的html

代码语言:javascript
运行
复制
<div id="info">     
    <div id="rightpannel"></div>        
    <div id="centerpannel"></div>       
    <div id="leftpannel"></div> 
</div>

我真的不知道为什么会发生这样的事情,我非常感谢任何人的帮助

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-07-23 07:03:51

主div的宽度不足以容纳其他3个。填充、边距和边框都需要考虑在内。设置一个小提琴并进行测试,但最终您需要玩弄这些数字才能获得所需的结果。

同样值得一查的盒子模型,以获得更清晰的理解

永远不要使用表格来对齐div。那个外行丑陋的家伙!表格用于表格数据。结束。

票数 3
EN

Stack Overflow用户

发布于 2013-07-23 07:21:01

尝尝这个

代码语言:javascript
运行
复制
#rightpannel {
width:32%;
float:right;
height:390px;
border: solid;
border-width:1px;
border-color:green;
margin-left:1%;
}
#centerpannel {
width:32%;
float:right;
height:390px;
border: solid;
border-width:1px;
border-color:green;
margin-left:1%;
}
#leftpannel {
width:32%;
float:right;
height:390px;
border: solid;
border-width:1px;
border-color:green;
}
#info {
width:100%;
height:400px;
border: solid;
border-width:1px;
border-color:red;
margin:0 auto;
padding: 5px 5px 5px 0;
}

Example

您仍然需要更改页边距-填充一点。

票数 2
EN

Stack Overflow用户

发布于 2013-07-23 07:04:44

你可以把事情简化一点,使用一个类而不是3个ID,但看起来为了让3列布局“牢不可破”,并且可以重新调整大小,你可能需要使用一点JavaScript……

HTML

代码语言:javascript
运行
复制
<div id="info">
    <div class="pannel"></div>
    <div class="pannel"></div>
    <div class="pannel"></div>
</div>

CSS

代码语言:javascript
运行
复制
.pannel {
    display:inline-block;
    float:left;
    height:390px;
    border: solid;
    border-width:1px;
    border-color:green;
    margin: 2px;
}
#info {
    width:90%;
    height:400px;
    border: solid;
    border-width:1px;
    border-color:red;
    margin:0 auto;
    padding:5px 2px 0 2px;
}

JS

代码语言:javascript
运行
复制
var pannel = function(){
    var x = $('#info').width() / 3 - 6.3;
$('.pannel').width(x);
};

$(document).ready(pannel);
$(window).resize(pannel);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17798777

复制
相关文章

相似问题

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