Как можно равномерно распределить три изображения и избежать их наложения при маленьком окне браузера? - PullRequest
0 голосов
/ 28 октября 2011

Я пытаюсь сделать так, чтобы три изображения отображались равномерно и оставались равномерно при изменении размера браузера.В данный момент изображения просто накапливаются одно над другим, когда вы уменьшаете окно.

Я бы хотел, чтобы изображения прекратились, как только они попадут на другое изображение.Я думаю, что добираюсь туда, но я немного застрял.

Может ли кто-нибудь проверить мой код и посмотреть, где я ошибаюсь, или я делаю что-то не так в моем макете HTML / CSS?

Спасибо за ваше время.

Вот мой HTML:

<title>Welcome</title>

<link rel="stylesheet" href="style.css" type="text/css" media="screen" />

</head>

<body>

<div id="outer">
<div id="header">

</div>


<div class="wrapper">

 <img class="one" src="images/music.jpg" alt="My Music" title="Music" />

 <img class="two" src="images/photos.jpg" alt="My Photography" title="Photography" />

 <img class="three" src="images/about.jpg" alt="About me" title="About" />


</div>

<div id="footer">
</div>
</div>
</body>
</html>




CSS:

body {
background-image:url('images/bgcolour.jpg');
font-size:12px;
font-family:Verdana, Arial, Helvetica, sans-serif;
}
div#outer {
width: 100%;
background-color:#000000;

}
div#header {
background-position: center top;
height: 30px;   
margin: 0px;
text-align: center;
}



.wrapper {
padding:10px;  
position:relative;


}

img {
width:250px;
height:250px;   
display:block;
}
.one {
 position:absolute;
top:10px;
left:5%;
}
.two
{
 position:absolute;
    top:10px;
    left:40%;
}
.three {
    position:absolute;
top:10px;
    right:5%;
}





div#main {
margin-left: 30%;
margin-top: 1px;
padding: 10px;

}


div#footer {

background-image:url('images/sig.jpg');
background-repeat: no-repeat;
background-position: right bottom;
height: 50px;   
margin: 0px;
text-align: center;


}

Ответы [ 3 ]

1 голос
/ 28 октября 2011

Попробуйте решение в этой скрипке .

Для объяснения: см. этот ответ .

0 голосов
/ 28 октября 2011

Добавьте минимальную ширину к обертке, чтобы убедиться, что изображения не сдвигаются к следующей строке.

.wrapper {
  padding:10px;  
  position:relative;
  min-width: 750px;
}

Затем переместите изображения с абсолютным позиционированием в желаемые места:

img {
  width:250px;
  height:250px;   
  display:block;
  position: absolute;
}
.one {
  left: 0%;
}    
.two {
  left: 50%;
  margin-left: -125px;
}
.three {
  right: 0%;
}

Обратите внимание на margin-left на втором изображении. Это число составляет половину ширины изображения. Таким образом, вы устанавливаете изображение на 50%, а затем сдвигаете его обратно на половину ширины.

Кроме того, если вы не хотите, чтобы .one и .three прямо по краям, вы могли бы использовать left: 10px и right: 10px соответственно.

Скрипка: http://jsfiddle.net/neilheinrich/ADUg2/

0 голосов
/ 28 октября 2011

на img добавить отступ

img {padding:5px;}

затем добавьте минимальную ширину к классу оболочки.

, поэтому, если все изображения имеют 250px, есть 3 изображения, которые по 750px вне очереди. затем вы добавляете отступы 5 пикселей к каждому изображению, который добавляет 30 пикселей в ширину и ставит нас на 780 пикселей.

так ...

.wrapper {min-width:800px;text-align:center;}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...