2015-06-17 1 views
0

Я хочу иметь 4 изображения в каждой строке моего содержания div
После того, как я вставляю первые четыре изображения, они будут показаны в первой строке. Если я добавлю больше изображений, он перейдет к следующей строке, пока не достигнет четырех чисел, затем перейдет к следующей строке и так далее. Я хочу, чтобы это было стилизовано таким образом, что всякий раз, когда я пытаюсь сделать окно браузера меньше, изображения будут подходить друг к другу, чтобы отображать сбалансированное количество изображений в каждой строке.Имея 4 изображения в каждой строке в div

<div id="content"> 
    <img src="pic1.jpg" alt="pic1"> 
    <img src="pic1.jpg" alt="pic1"> 
    <img src="pic1.jpg" alt="pic1"> 
    <img src="pic1.jpg" alt="pic1"> 
</div> 

Я попытался выше код и дал некоторые стили к content дел. Но мне не удалось получить желаемый результат.

+2

Используйте подвесную систему из основы CSS, как бутстрап или фундамент или полимер. Вы пытаетесь изобрести колесо здесь, не подтверждая этого. – ODelibalta

+0

@Sage Я не пытаюсь изобретать велосипед. Я пытаюсь получить желаемый результат с помощью HTML и CSS. – FreeMind

+0

Если вам не нравятся старые браузеры, [flexbox] (https://css-tricks.com/snippets/css/a-guide-to-flexbox/) может быть способ пойти на это – chazsolo

ответ

1
#content img { width:25%; float:left; } 

Вы, вероятно, хотите использовать видовые тег (в вашем HTML голове)

<meta name="viewport" content="width=device-width, initial-scale=1"> 

Так что вы можете использовать

@media screen and (max-width: 768px) { } 

и изменить ее, например

#content img { width:50%; float:left; } 

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

+0

Что означает '@media screen'? – FreeMind

+0

Итак, «@media» определяет, что будет читать информацию внутри {...} Например, «экран» предназначен для планшетов, мобильных телефонов и мониторов; но есть также вещи, которые вы хотите использовать только на распечатанном документе (т. е. вы можете сделать печатную версию страницы). Лично я только когда-либо использовал для двух, о которых я упомянул, но их больше. (http://www.w3schools.com/cssref/css3_pr_mediaquery.asp) – Matt

+0

О, и в этом конкретном случае любой CSS, который вы размещаете внутри экрана @media и (max-width: 768px), будет, как вы, возможно, уже догадались , применяются только на устройствах/браузерах шириной менее 768 пикселей – Matt

1

Вы можете попробовать с инлайн макетом:

img {width: 25%;} 
div {word-spacing: -100%;} 

JSFiddle

+0

Он дает три изображения в каждой строке. Кроме того, почему вы использовали '-100%' в 'word-spacing'? – FreeMind

+0

@FreeMind: он избавляется от пробелов, которые вызывают отображение последнего img на новой строке. Вы можете использовать 'div {font-size: 0}' вместо этого, если хотите. – potashin

+0

Но когда я добавляю следующий тег 'img', он не перейдет к следующей строке. – FreeMind

1

В качестве примера с Flexbox:

jsfiddle

<div id="content"> 
    <img src="img/img1.jpg" alt="pic1"> 
    <img src="img/img1.jpg" alt="pic1"> 
    <img src="img/img1.jpg" alt="pic1"> 
    <img src="img/img1.jpg" alt="pic1"> 
</div> 

CSS:

#content { 
    display: flex; 
    flex-wrap: wrap; 
} 

#content img { 
    width: 100px; 
    flex-basis: 25%; 
} 

Попробуйте добавить другие изображения в #content в скрипку, чтобы увидеть, как она оборачивает

1

HTML пример

<div id="container"> 
<div id="image1"><img src=""/></div> 
<div id="image2"><img src=""/></div> 
<div id="image3"><img src=""/></div> 
<div id="image4"><img src=""/></div> 
<div id="image5"><img src=""/></div> 
<div id="image6"><img src=""/></div> 
<div id="image7"><img src=""/></div> 
<div id="image8"><img src=""/></div> 
</div> 

пример CSS

#container{width: 400px;} 

#image1 {width: 100px; height: 100px; background-color: black; float: left;} 
#image2 {width: 100px; height: 100px; background-color: blue; float: left;} 
#image3 {width: 100px; height: 100px; background-color: black; float: left;} 
#image4 {width: 100px; height: 100px; background-color: blue; float: left;} 
#image5 {width: 100px; height: 100px; background-color: blue; float: left;} 
#image6 {width: 100px; height: 100px; background-color: black; float: left;} 
#image7 {width: 100px; height: 100px; background-color: blue; float: left;} 
#image8 {width: 100px; height: 100px; background-color: black; float: left;} 

@media only screen and (max-width: 399px){ 
    #container{width: 100%;} 
} 

Я поставил медиа-запрос на 399px так что после 399px вы Виль увидеть коробки падение вниз.

также в вашем HTML голове поместить

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> 

вот моя скрипку https://jsfiddle.net/DIRTY_SMITH/3x9ygrf7/

Смежные вопросы