做一个网站。它由一个位于中心的主容器和一个侧边栏组成。我只知道如何让侧边栏在屏幕的最左边或最右边。我想做的是让侧边栏贴在主容器的左边。有办法做到这一点吗?
侧边栏只是一个包含一些链接和图片的flexbox。
#container {
background-color: deepskyblue;
width: 500px;
margin: auto;
padding: 100px;
}
#sidebar {
background-color: red;
width: 200px;
padding: 10px
}
<div id="sidebar" style="float: left">
<p>Sidebar</p>
</div>
<div id="container">
<p>Container</p>
</div>
我试过使用float:left
,但这只会让侧边栏移到页面的最边缘。我需要的是侧边栏来粘在容器上。
4条答案
按热度按时间ca1c2owp1#
如果你想让容器居中,那么你可以使用css grid创建3列。我们使两个侧列
1fr
,使它们的宽度相等,然后中间列为fit-content
。然后我们可以使用align-self
将侧边栏推到容器的边缘。CSS tricks有一个关于网格的很好的入门,Kevin Powell有一个关于youtube的有用视频示例如下:
368yc8dk2#
使用flexbox布局,因为它在大多数情况下都足够通用。添加与第一列具有相同比例的第三列;这样,所有三个列将被适当地定尺寸和居中。下面的示例使用伪元素作为第三列:
oknrviil3#
在此输入代码
jchrr9hc4#
您可以分多个步骤执行此操作:
1.将边栏定位在容器的左上方
1.将边栏向左移动到与其宽度相等的位置
首先,要将侧边栏放置在容器的左上方,我们可以将
#container
的位置设为relative
,这样其他东西就可以相对于它放置absolute
ly,然后我们可以将#sidebar
absolute
放置在左上方。接下来,我们可以将侧边栏向左移动到与其宽度相等的位置: