#html #css
#HTML #css
Вопрос:
Я хотел бы разделить окно на 4 равные части. В каждой части я хочу, чтобы изображение было выровнено по вертикали и горизонтали, как здесь .
Проблема в том, что когда я удаляю одно из изображений, я не хочу, чтобы другие изображения использовали пространство этого удаленного изображения, как здесь
Ответ №1:
Скрипка: http://jsfiddle.net/TFCM4/8 /
Создайте 4 раздела внутри контейнера ( #bgs
) и добавьте описательные имена классов к элементам.
Соответствующий CSS:
html, body { /* Prevent "borders" from appearing */
padding: 0;
margin: 0;
}
#bgs { /* Let the container fill the whole window */
width: 100%;
height: 100%;
}
#bgs > div { /* Set the height and width of each div to 50% */
width: 50%;
height: 50%;
}
.right {float: right;} /* Align to the right */
.left {float:left;} /* Align to the left */
img {
display: block;
height: 100%; /* Let the image stretch/shrink when necessary*/
width: 100%;
}
HTML:
<div id="bgs">
<div class="top left">
<img src="http://farm7.static.flickr.com/6235/6257586214_7989986f50_z.jpg" />
</div>
<div class="top right">
<img src="http://farm7.static.flickr.com/6235/6257586214_7989986f50_z.jpg" />
</div>
<div class="bottom left">
<img src="http://farm7.static.flickr.com/6235/6257586214_7989986f50_z.jpg" />
</div>
<div class="bottom right">
<img src="http://farm7.static.flickr.com/6235/6257586214_7989986f50_z.jpg" />
</div>
</div>
Я использовал только left
right
имена классов и . top
И bottom
были добавлены, чтобы сделать исходный текст более читаемым.
Предыдущий (табличный) подход:
Добавьте visiblity:hidden;
к изображениям, которые должны быть скрыты. Это свойство делает элемент невидимым, но сохраняет место «зарезервированным».
Скрипка: http://jsfiddle.net/TFCM4/2 /
Вместо того, чтобы использовать две таблицы, вы можете объединить таблицы в одну таблицу и добиться желаемого результата без дальнейших проблем. Скрипка: http://jsfiddle.net/TFCM4/3 /
Структура HTML:
<table>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
</table>
Комментарии:
1. Спасибо, Роб. Как я могу заставить четыре части покрывать все окно? На данный момент все они сжаты в верхнем левом углу. Каким-то образом таблица занимает как можно меньше места, и я хочу, чтобы изображения были разложены.
2. @Randomblue Просто добавьте
height:100%;width:100%
в таблицу.3. Эта скрипка jsfiddle.net/TFCM4/4 автоматически настраивается по горизонтали, но не по вертикали.
4. @Randomblue обновил ответ другим подходом без таблиц . Скрипка: jsfiddle.net/TFCM4/8
5. Приветствия. Проблема сейчас в том, что я не могу выровнять по вертикали и сохранить соотношение сторон! Смотрите jsfiddle.net/TFCM4/9
Ответ №2:
Используйте таблицы и поместите изображение в TD