Я новый дизайнер веб-сайта. я хотел бы создать веб-сайт, который разделен на 3 столбца, когда я сниму свой сайт с помощью Firefox и Chrome, у него нет никаких проблем; однако, когда я уменьшаю масштаб с помощью Safari, у него есть пробелы между правыми и средними. пожалуйста, помогите мне исправить это. мой скрипт css, как показано ниже:
div#left{
float: left;
width: 205px;
max-width:205px;
background-color:#999;
height:200px;
}
div#middle{
float:left;
max-width:555px;
width: 555px;
background-color:#366;
}
div#right{
float: right;
width: 200px;
max-width:200px;
background-color:#F00;
height:200px;
}
div#content{
width: 960px;
margin-top: 0 auto;
white-space:nowrap;
}
Мой HTML
<div id="content">
<div id="left">
Test
</div>
<div id="middle">
Middle
</div>
<!--white space here when zoom out in safari-->
<div id="right">Right</div>
</div>
Как установить сафари?
потому что ширина браузера увеличилась, ваша средняя плавает влево, а ваше право плавает справа, что приводит к появлению белого пространства посередине. Попробуйте сделать свой правый поплавок влево и
div#right{
float: left;
width: 200px;
max-width:200px;
background-color:#F00;
height:200px;
}
но это оставит вам пробел с правой стороны.
вы можете исправить это, сделав левый средний и правый проценты. так что он примет длину своего родителя.
div#left{
float: left;
width: 25%;
background-color:#F00;
height:200px;
}
div#middle{
float: left;
width: 50%;
background-color:#F00;
height:200px;
}
div#right{
float: left;
width: 25%;
background-color:#F00;
height:200px;
}
здесь [проверено] только что изменилось hleft => left и hcontent => content
<style>
div#left{
float: left;
width: 205px;
background-color:#999;
height:200px;
}
div#middle{
float:left;
width: 555px;
background-color:#366;
}
div#right{
float: left;
width: 200px;
background-color:#F00;
height:200px;
}
div#content{
width: 960px;
margin: 0 auto;
white-space:nowrap;
}
</style>
<div id="content">
<div id="left">
Test
</div>
<div id="middle">
Middle
</div>
<!--white space here when zoom out in safari-->
<div id="right">Right</div>
</div>
Добавьте float: слева направо div и исправьте имена классов.
HTML
<div id="hcontent">
<div id="hleft">Test</div>
<div id="middle">Middle</div>
<!--white space here when zoom out in safari-->
<div id="right">Right</div>
</div>
CSS
div#hcontent {
margin: 0 auto;
width:960px;
}
div#hleft {
float: left;
width: 205px;
max-width:205px;
background-color:#999;
height:200px;
}
div#middle {
float:left;
max-width:555px;
width: 555px;
background-color:#366;
}
div#right {
float: left;
width: 200px;
max-width:200px;
background-color:#F00;
height:200px;
}
<div id="hleft"> & <div id="hcontent">
должно быть:
<div id="left"> & <div id="content">
Используйте процент для ширины (20%, 60%, 20%).
div#left{
float: left;
width: 20%;
background-color:#999;
height:200px;
}
div#middle{
float:left;
width: 60%;
background-color:#366;
}
div#right{
float: right;
width: 20%;
background-color:#F00;
height:200px;
}
Я сделал это для вас. Это может помочь.
Санти избил меня. В основном то же самое, но с добавлением класса.clearfix, чтобы избавиться от любых других лишних пробелов, которые могут появиться из-за плавающих элементов.
Я бы рекомендовал отказаться от пиксельных единиц. Попробуйте поэкспериментировать проценты или что-то масштабируемое как rem или em units.
HTML
<div id="content">
<div id="left">Left</div>
<div id="middle">Middle</div>
<!--white space here when zoom out in safari-->
<div id="right">Right</div>
<div class="clearfix"></div>
</div>
CSS
#content{
width: 900px;
margin: 0 auto;
white-space:nowrap;
}
#left{
float: left;
width: 200px;
min-height:200px;
background-color:#999;
}
#middle{
float:left;
width: 500px;
min-height: 200px;
background-color:#366;
}
#right{
float: left;
width: 200px;
min-height: 200px;
background-color:#F00;
}
.clearfix{
clear: both;
}
JSFiddle
Ваш "контент" div, похоже, не находится в вашем HTML-коде. Если вы имеете в виду контент hcontent ==, то есть проблема с вашей шириной. У вас есть ширина, равная 100%, для родительского блока "hcontent", а дочерний div только что позиционируется с поплавком и имеет ширину, установленную в px. Вам нужно изменить стиль hcontent на фиксированную ширину в px или изменить дочерний div на ширину в процентах.
Вы можете попробовать что-то вроде этого:
div#left{
float: left;
width: 205px;
max-width:205px;
background-color:#999;
height:200px;
}
div#middle{
float:left;
max-width:555px;
width: 555px;
background-color:#366;
}
div#right{
float: right;
width: 200px;
max-width:200px;
background-color:#F00;
height:200px;
}
div#content{
width: 960px;
margin: auto;
white-space:nowrap;
}
Как вы можете видеть, я только что изменил ширину и маржу вашего контента на "авто", чтобы он всегда располагался в центре. Так или иначе:
div#left{
float: left;
width: 30%;
background-color:#999;
height:200px;
}
div#middle{
float:left;
width:40%;
background-color:#366;
}
div#right{
float: right;
width: 30%;
background-color:#F00;
height:200px;
}
div#content{
width: 100%;
margin: auto;
white-space:nowrap;
}
Обратите внимание, что я изменил всю свою ширину div на процентное значение.