#html #css
#HTML #css
Вопрос:
Я новичок в css, и у меня такая ситуация: на моем веб-сайте у меня есть фоновое изображение (которое занимает всю страницу) и рамка div (в которую я вставляю содержимое моего веб-сайта); рамка имеет верхний баннер div, и под ним рамка разделена на левую и правую панели. Мой вопрос в том, как сделать левую панель такой же длины (по высоте), что и правая панель, потому что бывает, что правая панель становится длиннее, но левая панель остается фиксированной длины.
body{
background-image: url("../img/cd.png");
background-repeat: no-repeat;
background-size: 2100px;
margin: 0;
padding: 0;
background-attachment: fixed;
}
#frame{
background-color: white;
width: 80%;
margin: 0 auto;
border-radius: 0 0 10px 10px;
overflow: hidden;
}
#left_bar{
float: left;
width: 22%;
background-color: #b3d1ff;
border-radius: 0 0 0px 10px;
min-height: 1100px;
}
#right_bar{
float: right;
width: 78%;
}
<body>
<div id="frame">
<div id="top_banner"></div>
<div id="left_bar"></div>
<div id="right_bar"></div>
</body>
Комментарии:
1. какую «длину» вы имеете в виду здесь? высота или ширина?
2. в этом фрагменте показан один фрагмент синего цвета. где находится другой фрагмент? я хочу сделать сэндвич.
3. Я имею в виду высоту
Ответ №1:
Оберните ваше left_bar
и right_bar
в 1 div
и сделайте это display: flex
<div style="display: flex">
<div id="left_bar"></div>
<div id="right_bar"></div>
</div>
Ответ №2:
Вы могли бы использовать flexbox здесь. Вот хорошее руководство по Flexbox, если вам интересно.
Например:
body{
background-image: url("../img/cd.png");
background-repeat: no-repeat;
background-size: 2100px;
margin: 0;
padding: 0;
background-attachment: fixed;
}
#frame{
background-color: white;
width: 80%;
margin: 0 auto;
border-radius: 0 0 10px 10px;
overflow: hidden;
display: flex;
flex-wrap: wrap;
flex-direction: row;
}
#top_banner {
flex-basis: 100%;
}
#left_bar{
width: 22%;
background-color: #b3d1ff;
border-radius: 0 0 0px 10px;
min-height: 1100px;
}
#right_bar{
background-color: #ff0000;
width: 78%;
}
<body>
<div id="frame">
<div id="top_banner"></div>
<div id="left_bar"></div>
<div id="right_bar"></div>
</body>
Комментарии:
1. Что насчет того, что это не работает? В вашем вопросе и комментариях выше вы заявляете, что хотите, чтобы высоты левой и правой панелей оставались равными, это делает именно это…
2. Извините, я допустил ошибку, когда справлялся с этим, это правильно!