2013-03-06 2 views
1

Я пытаюсь охватить 3 изображения по горизонтали через страницу. Мне нужно, чтобы они действовали как css background-size: cover;. Два внешних изображения ведут себя хорошо, потому что их соотношение сторон позволяет высоте заполнить пустое пространство. Однако изображение медведя не воспроизводит одно и то же поведение из-за его соотношения сторон.<img> для покрытия выделенного пространства

Мне нужна эта картина, чтобы растянуться, пока она не достигнет полной высоты коробки. Если он превышает ширину коробки, избыток будет скрыт только overflow: hidden;. Как я выполняю это отзывчивость в виду

Вот мой код (масштабирование изображения (%) при изменении размера окна.): HTML:

<section> 
    <div class="albumns"> 
     <article> 
      <div class="albumn a1"> 
       <%=image_tag("mount.jpg")%> 
      </div> 
     </article> 
     <article> 
      <div class="albumn a2"> 
       <%=image_tag("bear.jpg")%> 
      </div> 
     </article> 
     <article> 
      <div class="albumn a3"> 
       <%=image_tag("mount.jpg")%> 
      </div> 
     </article> 
    </div> 
</div> 
</section> 

CSS:

.albumns { 
position: relative; 
} 
.albumn { 
width: 100%; 
float: none; 
& img { 
    width: 100%; 
} 
} 

enter image description here

+0

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

+0

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

ответ

2

Поскольку изображения переменной высоты, вам необходимо исправить высоту их контейнеров. Попробуйте это:

.albumn{ 
    overflow:hidden; 
    width:33%; 
    height:200px; /*The height you want the images*/ 
} 
.albumn img{ 
    height:100%; 
    width:auto; 
    display:block; 
    margin:0 auto; 
} 
+0

Это почти сработало. Однако ширина теперь не покрывает выделенное пространство. Есть ли способ растянуть изображение за пределами его контейнера и обрезать избыток с помощью 'overflow: hidden ', чтобы все пространство было заполнено? –

+0

Ой! Я просто переключился на 'height: auto;' width: 100%; 'на img. Спасибо вам за помощь! Я напишу сценарий, который устанавливает соотношение сторон на основе размера экрана. –

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