1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > html css 3 div并排 CSS-并排对齐两个div

html css 3 div并排 CSS-并排对齐两个div

时间:2022-01-25 18:12:25

相关推荐

html css 3 div并排 CSS-并排对齐两个div

CSS-并排对齐两个div

这个问题已经在这里有了答案:

并排对齐

元素 3个答案

我有一个小问题。 我正在尝试使用CSS并排对齐两个div,但是,我希望将中心div在页面中水平居中放置,我通过使用以下方法实现了这一点:

#page-wrap { margin 0 auto; }

很好 我想将第二个div放置在中心页面换行的左侧,但是尽管可以确定,但我无法使用浮点数来完成此操作。

我想将红色div推向白色div。

这是我当前关于这两个div的CSS,侧边栏是红色div,页面换行是白色div:

#sidebar {

width: 200px;

height: 400px;

background: red;

float: left;

}

#page-wrap {

margin: 0 auto;

width: 600px;

background: #ffffff;

height: 400px;

}

Ronnie asked -07-05T18:22:48Z

6个解决方案

74 votes

如果包裹了div,如下所示:

您可以使用以下样式:

#main {

width: 800px;

margin: 0 auto;

}

#sidebar {

width: 200px;

height: 400px;

background: red;

float: left;

}

#page-wrap {

width: 600px;

background: #ffffff;

height: 400px;

margin-left: 200px;

}

不过,这看起来有些不同,所以我不确定这是您追求的。 这会将所有800px以一个单元为中心,而不是以200px在左侧为中心的600px。 基本方法是侧边栏向左浮动,但在主div内部,并且#page-wrap具有侧边栏的宽度,因为它的左边距将其移到更远处。

根据评论更新:对于这种偏心的外观,您可以这样做:

通过这种样式:

#sidebar {

position: absolute;

left: -200px;

width: 200px;

height: 400px;

background: red;

}

#page-wrap {

position: relative;

width: 600px;

background: #ffffff;

height: 400px;

margin: 0 auto;

}

Nick Craver answered -07-05T18:23:27Z

15 votes

我不明白为什么尼克使用.clear:after而不是将另一个div浮动到left或right,我只是调整了他的标记,您可以对两个元素都使用float,而不是使用margin-left。

演示版

#main {

margin: auto;

width: 400px;

}

#sidebar {

width: 100px;

min-height: 400px;

background: red;

float: left;

}

#page-wrap {

width: 300px;

background: #0f0;

min-height: 400px;

float: left;

}

.clear:after {

clear: both;

display: table;

content: "";

}

另外,我使用了.clear:after来调用父元素,只是为了自我清除父元素。

Mr. Alien answered -07-05T18:23:56Z

8 votes

可以通过样式属性完成。

#main {

display: flex;

}

#main div {

flex-grow: 0;

flex-shrink: 0;

flex-basis: 40px;

}

Red DIVBlue DIV

其结果将是:

请享用... 请注意:这在CSS的更高版本(> 3.0)中有效。

Mark Macneil Bikeio answered -07-05T18:24:24Z

3 votes

HTML代码用于三个div并排对齐,也可以通过一些更改用于两个div

firstsecondthird

CSS将是

#wrapper {

display:table;

width:100%;

}

#row {

display:table-row;

}

#first {

display:table-cell;

background-color:red;

width:33%;

}

#second {

display:table-cell;

background-color:blue;

width:33%;

}

#third {

display:table-cell;

background-color:#bada55;

width:34%;

}

该代码将调整响应式布局,因为它将调整大小

根据设备的宽度。哪怕一个人都能沉默

可以用剩下的两个

并排。

Dr Amit Sehgal answered -07-05T18:25:10Z

2 votes

也可以在没有包装器的情况下执行此操作-div#main。 您可以使用以下空白使#page-wrap居中:0自动; 方法,然后使用左侧:-n; 定位#sidebar并添加#page-wrap宽度的方法。

body { background: black; }

#sidebar {

position: absolute;

left: 50%;

width: 200px;

height: 400px;

background: red;

margin-left: -230px;

}

#page-wrap {

width: 60px;

background: #fff;

height: 400px;

margin: 0 auto;

}

但是,如果窗口小于内容,则侧边栏将消失在浏览器视口之外。

Nick的第二个答案是最好的,因为它也更易于维护,因为如果您要调整#page-wrap的大小,则不必调整#sidebar。

matharden answered -07-05T18:25:40Z

1 votes

最简单的方法是将它们都包装在container div中,然后将margin: 0 auto;应用于容器。 这将在页面上将#page-wrap和#sidebar div居中。 但是,如果您想要偏心的外观,则可以将container 200px向左移动,以解决#sidebar div的宽度。

Michael Herold answered -07-05T18:26:00Z

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。