Css 如何将两个div相邻放置?

Css 如何将两个div相邻放置?,css,html,Css,Html,考虑一下: #包装器{ 宽度:500px; 边框:1px纯黑; } #首先{ 宽度:300px; 边框:1px纯红; } #第二{ 边框:1px纯绿色; } Stack Overflow适用于专业和热心的程序员,他们编写代码是因为热爱它。 当你发布一个新问题时,其他用户几乎会立即看到它并尝试提供好的答案。这通常发生在几分钟内,因此确保在您的问题仍然是新问题时经常查看,以获得最佳回答。 您可以使用CSS float属性使元素彼此相邻: #first { float: left; } #seco

考虑一下:

#包装器{
宽度:500px;
边框:1px纯黑;
}
#首先{
宽度:300px;
边框:1px纯红;
}
#第二{
边框:1px纯绿色;
}

Stack Overflow适用于专业和热心的程序员,他们编写代码是因为热爱它。
当你发布一个新问题时,其他用户几乎会立即看到它并尝试提供好的答案。这通常发生在几分钟内,因此确保在您的问题仍然是新问题时经常查看,以获得最佳回答。

您可以使用CSS float属性使元素彼此相邻:

#first {
float: left;
}
#second {
float: left;
}
#div1 {
    display: inline-block;
}

#div2 {
    display: inline-block;
}

您需要确保包装div允许在宽度和边距等方面进行浮动。请正确设置一个或两个内部div

浮动一个div:

#wrapper {
    width: 500px;
    border: 1px solid black;
    overflow: hidden; /* will contain if #first is longer than #second */
}
#first {
    width: 300px;
    float:left; /* add this */
    border: 1px solid red;
}
#second {
    border: 1px solid green;
    overflow: hidden; /* if you don't want #second to wrap below #first */
}
#wrapper {
    width: 500px;
    border: 1px solid black;
    overflow: hidden; /* add this to contain floated children */
}
#first {
    width: 300px;
    float:left; /* add this */
    border: 1px solid red;
}
#second {
    border: 1px solid green;
    float: left; /* add this */
}
或者如果两者都浮动,则需要鼓励包装器div包含两个浮动的子对象,否则它会认为它是空的,而不会在它们周围加上边框

浮动两个div:

#wrapper {
    width: 500px;
    border: 1px solid black;
    overflow: hidden; /* will contain if #first is longer than #second */
}
#first {
    width: 300px;
    float:left; /* add this */
    border: 1px solid red;
}
#second {
    border: 1px solid green;
    overflow: hidden; /* if you don't want #second to wrap below #first */
}
#wrapper {
    width: 500px;
    border: 1px solid black;
    overflow: hidden; /* add this to contain floated children */
}
#first {
    width: 300px;
    float:left; /* add this */
    border: 1px solid red;
}
#second {
    border: 1px solid green;
    float: left; /* add this */
}
以下是解决方案:

#wrapper {
    width: 500px;
    border: 1px solid black;
    overflow: auto; /* so the size of the wrapper is alway the size of the longest content */
}
#first {
    float: left;
    width: 300px;
    border: 1px solid red;
}
#second {
    border: 1px solid green;
    margin: 0 0 0 302px; /* considering the border you need to use a margin so the content does not float under the first div*/
}
您的演示已更新

有两个div

<div id="div1">The two divs are</div>
<div id="div2">next to each other.</div>
jsFiddle示例

如果
div1
超过一定高度,则
div2
将放在底部
div1
旁边。要解决此问题,请使用
垂直对齐:顶部打开
div2


jsidle示例。

选项1

在两个
div
元素上使用
float:left
,并为两个div元素设置一个总宽度为100%的%宽度

使用
框大小:边框框。“值边框”框将填充和边框强制设置为宽度和高度,而不是将其展开

使用
上的clearfix清除浮动子元素,这将使包装器div缩放到正确的高度

.clearfix:after {
   content: " "; 
   visibility: hidden;
   display: block;
   height: 0;
   clear: both;
}

#first, #second{
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}

#wrapper {
    width: 500px;
    border: 1px solid black;
}
#first {
    border: 1px solid red;
    float:left;
    width:50%;
}
#second {
    border: 1px solid green;
    float:left;
    width:50%;
}

选项2

在一个元素上使用
position:absolute
,在另一个元素上使用固定宽度

添加位置:相对于
元素,使子元素绝对位于
元素

#wrapper {
    width: 500px;
    border: 1px solid black;
    position:relative;
}
#first {
    border: 1px solid red;
    width:100px;
}
#second {
    border: 1px solid green;
    position:absolute;
    top:0;
    left:100px;
    right:0;
}

选项3

在两个
div
元素上使用
display:inline block
,并为两个div元素设置一个总宽度为100%的%宽度

再次(与
float:left
示例相同)使用
框大小:边框框。“值边框”框将填充和边框强制设置为宽度和高度,而不是将其展开

注意:内联块元素可能存在间距问题,因为它受到HTML标记中空格的影响。更多信息请点击此处:

最后一个选项是使用名为flex的新显示选项,但请注意,浏览器兼容性可能会发挥作用:


尝试使用下面的代码更改将两个div放在彼此前面

#wrapper {
  width: 500px;
  border: 1px solid black;
  display:flex;
}

尝试使用flexbox型号。写起来既简单又简短

生活

CSS:

默认方向为行。因此,它在#包装器内彼此相邻对齐。 但它不受IE9或低于该版本的支持

  • 添加<代码>浮动:左属性

  • 添加
    显示:内联块属性

  • 添加
    显示:flex属性

  • #包装器{
    宽度:1200;
    边框:1px纯黑;
    位置:相对位置;
    浮动:左;
    }
    #首先{
    宽度:300px;
    边框:1px纯红;
    位置:相对位置;
    浮动:左;
    }
    #第二{
    边框:1px纯绿色;
    位置:相对位置;
    浮动:左;
    宽度:500px;
    }
    
    Stack Overflow适用于专业和热心的程序员,他们编写代码是因为热爱它。
    当你发布一个新问题时,其他用户几乎会立即看到它并尝试提供好的答案。这通常发生在几分钟内,因此确保在您的问题仍然是新问题时经常查看,以获得最佳回答。
    
    这是正确的CSS3答案。希望这对你有所帮助:D 我真的建议你读这本书:事实上,我从现在读这本书中得出了这个解决方案D

    #包装器{
    显示器:flex;
    弯曲方向:行;
    边框:1px纯黑;
    }
    #首先{
    宽度:300px;
    边框:1px纯红;
    }
    #第二{
    边框:1px纯绿色;
    }
    
    Stack Overflow适用于专业和热心的程序员,他们编写代码是因为热爱它。
    当你发布一个新问题时,其他用户几乎会立即看到它并尝试提供好的答案。这通常发生在几分钟内,因此确保在您的问题仍然是新问题时经常查看,以获得最佳回答。
    
    这很容易- 你可以用很难的方法

    .clearfix:after{
    内容:“;
    可见性:隐藏;
    显示:块;
    身高:0;
    明确:两者皆有;
    }
    #第一,第二{
    框大小:边框框;
    -moz框大小:边框框;
    -webkit框大小:边框框;
    }
    #包装纸{
    宽度:500px;
    边框:1px纯黑;
    }
    #首先{
    边框:1px纯红;
    浮动:左;
    宽度:50%;
    }
    #第二{
    边框:1px纯绿色;
    浮动:左;
    宽度:50%;
    }
    Stack Overflow适用于专业和热心的程序员,他们编写代码是因为热爱它。
    当你发布一个新问题时,其他用户几乎会立即看到它并尝试提供好的答案。这通常发生在几分钟内,因此确保在您的问题仍然是新问题时经常查看,以获得最佳回答。
    
    我的方法:

    <div class="left">Left</div>
    <div class="right">Right</div>
    

    在material UI和react.js中,您可以使用网格

    <Grid
      container
      direction="row"
      justify="center"
      alignItems="center"
    >
        <Grid item xs>
          <Paper className={classes.paper}>xs</Paper>
        </Grid>
        <Grid item xs>
          <Paper className={classes.paper}>xs</Paper>
        </Grid>
        <Grid item xs>
          <Paper className={classes.paper}>xs</Paper>
        </Grid>
    
    </Grid>
    
    
    xs
    xs
    xs
    
    您可以在#包装器上设置
    溢出:自动
    ,以便大小仍能适应内容大小。(不需要明确的:两个元素)ye
    <Grid
      container
      direction="row"
      justify="center"
      alignItems="center"
    >
        <Grid item xs>
          <Paper className={classes.paper}>xs</Paper>
        </Grid>
        <Grid item xs>
          <Paper className={classes.paper}>xs</Paper>
        </Grid>
        <Grid item xs>
          <Paper className={classes.paper}>xs</Paper>
        </Grid>
    
    </Grid>