Подскажите пожалуйста как размножить картинку из спрайта по горизонтали
делаю следующим образомКод HTML:<div class="logo"> <div class="log"> ::before <span>заголовок</span> ::after </div> </div>PHP код:Но картинка в before появляется только один раз и не размножается по <div class=log> Подскажите что делаю не так?.logo {
width: auto;
height: 90px
}
.log{
position:absolute;
}
.log:before{
z-index:99;
content:"";
position:absolute;
background:url('image/pc.png') repeat-x -152px 0;
width:1px;
height:90px
}
.log:after {
width: 70px;
height: 90px;
right: -70px;
}
.log:after {
float: left;
z-index: 99;
content: "";
position: absolute;
background: url('image/pc.png')no-repeat -146px 0;
}
- 26.07.2016 10:38
Последний раз редактировалось Fktrctq; 26.07.2016 в 10:46.
- 26.07.2016 11:25
Точно так же
- 26.07.2016 11:36
Гендальф Серый, уже удалил дубли
- 26.07.2016 12:12
Fktrctq, у .log:before ширина в один пиксель задана.
Последний раз редактировалось samoylov; 26.07.2016 в 12:18.
- 26.07.2016 12:24
samoylov,Все правильно 1px а как по другому я задам размер картинки которую нужно вырезать из спрайта?
- 26.07.2016 12:45
Fktrctq, нет. Этим Вы задаете ширину блока, внутри которого собираетесь делать повторение по горизонтали. То есть по сути у вас картинка размножается, на на протяжении блока в один пиксель.
Для спрайтов есть правило - если элемент требуется повторять по горизонтали, все элементы в спрайте должны быть выстроены вертикально. И наоборот. Поэтому скорее всего нужно переделать сам спрайт.Спасибо сказали:
Fktrctq(26.07.2016), - 26.07.2016 14:56
samoylov,а не подскажите можно ли масштабировать картинку из спрайта под разные разрешения например логотип?
в спрайте он имеет размер 145 на 145 пикселей его делаю под ПК как бы его сделать под планшет уменьшив до размера 120 на 120 Реально ли такое сделать используя спрайт? - 26.07.2016 15:32
Fktrctq, посмотреть бы на спрайт (можно заблюрить айдентику, главное - расположение элементов). А так, масштабировать можно, используя background-sizе. Например, установим ширину изображения в 120px, а высота будет уменьшена пропорционально:
PHP код:Но я бы посоветовал для мобильных платформ вовсе делать retina-ready изображения, чтобы не было мыла. Если хотите, чтобы все было в одном спрайте для всех разрешений, то можете увеличить его до 240px по ширине. И также для десктопа уменьшить с помощью background-size до 145px, а на девайсах до 120px.@media (max-width: 767px) {
.log:before{
background-size:120px auto;
}
}
Последний раз редактировалось samoylov; 26.07.2016 в 15:39.
Спасибо сказали:
Fktrctq(26.07.2016), - 26.07.2016 21:03
samoylov,
попробовал
PHP код:при разрешении 599 выводится весь спрайт в размер 120 на 120 а он у меня размером 184 на 180@media screen and (max-width: 599px)
.head:before {
background-size: 120px auto;
}
.head:before {
z-index: 99;
content: "";
position: absolute;
background: url('image/pc.png')no-repeat 0 0;
width: 145px;
height: 145px;
}
Подскажите пожалуйста как можно подправить чтобы из спрайта было видно только 120 на 120 от 0 точки - 27.07.2016 01:09
Fktrctq, посмотрел спрайт. Теперь стало все понятно. Изображение имеет размеры 184х180:

Но! Справа от логотипа располагается ряд дополнительных элементов, и если уменьшить до 120px весь спрайт, то и они влезут в блок. Соответственно нужно уменьшить изображение с тем же коэффициентом, какой предусмотрен для самого логотипа.
Производим расчеты:
145 / 120 = 1.2083 - коэффициент уменьшения логотипа
184 / 1.2083 = 152.2 - размер всего спрайта при уменьшенном логотипе
Итоговый код:
PHP код:Ширину взял чуть больше, потому что нижние элементы таки залезали вместе с логотипом. Для избежания такого можно поиграться с размерами или предусмотреть поля..head:before {
z-index: 99;
content: "";
position: absolute;
background: url('http://i.imgur.com/DCuhFym.png')no-repeat 0 0;
width: 145px;
height: 145px;
}
@media screen and (max-width: 599px) {
.head:before {
background-size: 152.5px auto;
width: 120px;
height: 120px;
}
}
Рабочий пример
http://jsbin.com/zikicanaxi/edit?html,css,outputСпасибо сказали:
Fktrctq(27.07.2016),
Тэги топика:
- absolute,
- background,
- content,
- height,
- image,
- position,
- width,
- z-index,
- делать,
- картинка,
- подсказать,
- размножить,
- спрайт
Похожие темы
| Темы | Раздел | Ответов | Последний пост |
|---|---|---|---|
Размножить тексты для объектов по недвижимости | Вопросы от новичков | 2 | 04.06.2014 16:32 |
Картинку в рубрику | WordPress | 12 | 25.02.2014 20:16 |
написать и размножить статью | Копирайтинг, переводы, постинг | 0 | 21.10.2013 08:20 |
размножить статью | Копирайтинг, переводы, постинг | 3 | 14.08.2012 12:52 |





