Вопрос
Растянуть фоновое изображение css? Автор вопроса: Buffon 14.04.2011 Ответов: 6
<td class="style1" align='center' height='35'>
<div style='overflow: hidden; width: 230px;'>
<a class='link' herf='' onclick='topic(<?=$key;?>)'>
<span id='name<?=$key;?>'><?=$name;?></span>
</a>
</div>
</td>
Это мой CSS-скрипт
.style1 {
background-image: url('http://localhost/msite/images/12.PNG');
background-repeat: no-repeat;
background-position: left center;
}
Я хочу растянуть background-image по всей <td> ячейке
Сразу отметим, что растягивание растровых изображений ухудшает качество. wdm 14.04.2011 дубликат stackoverflow.com/questions/376253/ Alex Shesterov 18.03.2013 @wdm: ухудшения качества не произойдет, если это svg. posit labs 16.12.2014 html css background
Ответы Ответ 1 · рейтинг 309 · Blowsie
.style1 {
background: url(images/bg.jpg) no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
Работает в:
Safari 3+
Chrome Whatever +
IE 9+
Opera 10+ (Opera 9.5 поддерживает размер фона, но не ключевые слова)
Firefox 3.6+ (Firefox 4 поддерживает версии без префиксов сторонних производителей)
Кроме того, вы можете попробовать это для решения IE
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='.myBackground.jpg', sizingMethod='scale');
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='myBackground.jpg', sizingMethod='scale')";
zoom: 1;
Благодарим за эту статью Криса Койера http://css-tricks.com/perfect-full-page-background-image/
Ответ 2 · рейтинг 65 · Calum
CSS3: http://webdesign.about.com/od/styleproperties/p/blspbgsize.htm
.style1 {
...
background-size: 100%;
}
Вы можете указать ширину или высоту с помощью:
background-size: 100% 50%;
Это растянет его на 100% ширины и 50% высоты.
Поддержка браузера: http://caniuse.com/#feat=background-img-opts
Ответ 3 · рейтинг 11 · Guffa
Вы не можете растянуть фоновое изображение (до CSS 3).
Вам нужно будет использовать абсолютное позиционирование, чтобы вы могли поместить тег изображения внутри ячейки и растянуть его, чтобы покрыть всю ячейку, а затем поместить содержимое поверх изображения.
table {
width: 230px;
}
.style1 {
text-align: center;
height: 35px;
}
.bg {
position: relative;
width: 100%;
height: 100%;
}
.bg img {
display: block;
width: 100%;
height: 100%;
}
.bg .linkcontainer {
position: absolute;
left: 0;
top: 0;
overflow: hidden;
width: 100%;
}
<table cellpadding="0" cellspacing="0" border="10">
<tr>
<td class="style1">
<div class="bg">
<img src="http://placekitten.com/20/20" alt="" />
<div class="linkcontainer">
<a class="link" href="#">
<span>Answer</span>
</a>
</div>
</div>
</td>
</tr>
</table>
Ответ 4 · рейтинг 10 · failed_hard
Я думаю, что ты ищешь
.style1 {
background: url('http://localhost/msite/images/12.PNG');
background-repeat: no-repeat;
background-position: center;
-webkit-background-size: contain;
-moz-background-size: contain;
-o-background-size: contain;
background-size: contain;
}
Ответ 5 · рейтинг 1 · Mujeeb Ishaque
Это работает безупречно @ 2019
.marketing-panel {
background-image: url("../images/background.jpg");
background-repeat: no-repeat;
background-size: auto;
background-position: center;
}
Ответ 6 · рейтинг -7 · LumiereNG
Просто вставьте это в свою строку кода:
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow .