2015-06-25 2 views
1

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

Код следующее:

<div class="responsive_image" /> 

И CSS является следующее:

.responsive_image { 
background-image ("testing_image.jpg"); 
background-size: 100%; 
} 

Опять же, (разочарование) результата является то, что изображение никогда не отображается. Однако, когда я устанавливаю высоту фонового размера в 100px или 200px, изображение отлично отображается. Не могу понять, почему это происходит.

+0

Что делать, если вы использовали 'background-size: cover;' или 'background-size: contains;'? –

ответ

2

Прежде всего, Ваш background-image пропускает : url после него (как это: background-image: url('testing_image');)

Пример:

.responsive_image { 
 
    height: 100px; 
 
    width: 100px; 
 
    background-image: url('http://placehold.it/50x50'); 
 
    background-repeat: no-repeat; 
 
    background-size: 100%; /* or better, use cover (or contain) if you don't want to stretch images */ 
 
}
<div class="responsive_image"></div>

2

При установке background-size: 100%, что он рассчитывает на is: background-size: 100% auto, где 100% относится к ширине, а auto относится к высоте (сам размер k аспектное соотношение сторон).

Проблема: ширина 100% от что? Это немного сложно, потому что он рассчитан NOT от <div class="responsive-image">, но родителя <div>. Вероятно, вы не указали ширину в своем родителе, поэтому ширина фона не может быть вычислена, поэтому фон не отображается. Вот почему это происходит.

Существует много способов «сделать фоновое изображение»: использовать contain, cover, px для background-size; или если размер для родителя - это то, что вы действительно хотите, дайте родительской ширине.

+0

Спасибо всем за айверов. Я узнал об этом предмете, и это действительно может быть небольшим трюком, как свет. На самом деле, я решил проблему, отказавшись от свойства background-image и используя img с шириной и увеличением в 100%. Конечно, это временное решение: я собираюсь хранить ваши ответы, чтобы я мог дать этому свойству еще одну попытку в ближайшем будущем. Еще раз спасибо за ваши ответы. – msnetto

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