Модераторы: Illuminaty
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Параметры контейнера по высоте, как грамотно заставить отображатся фон 
V
    Опции темы
Qwesa
Дата 25.1.2008, 00:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 9.10.2007

Репутация: нет
Всего: нет



я решил в одном заказе заморичиться и сделать кнопочки через CSS, просто и наглядно. Но вот не получается фоновые картинки заставить отображаться в полный размер. http://zomzom.ru/  Как вы видите кнопки находясь, каждая в своем диве, также находится в отдельной ячейки таблицы, но вот чтоб они корректно отображались (фоновые рисунки) единственное что помогла поиграться с - (padding:0.6em;), а в общем я не совсем понял как назначить определенную высоту для этих кнопок и чтоб они ровно друг над другом шли без разрывов. 

Подскажите параметры для выставления высоты.
PM MAIL   Вверх
SelenIT
Дата 25.1.2008, 03:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 97
Всего: 401



Я бы посоветовал заменить em-ы в padding-ах на пиксели - все равно ведь размер жестко заточен под картинку, при масштабировании шрифта в мозилле все съезжает. А font-size дополнить таким же line-height, тоже для фиксаци. И div-ы тут, имхо, особо не нужны - id-ы можно ведь задать самим ячейкам...


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
Qwesa
Дата 25.1.2008, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 9.10.2007

Репутация: нет
Всего: нет



как не странно, но если выставляю пиксели то реакции нет никакой.
PM MAIL   Вверх
bars80080
Дата 25.1.2008, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 50
Всего: 315



не совсем понял проблематику,

если бы мне нужно было бы корректно под разные браузеры заточить картинки, я бы в стилях всем элементам (body, table, div) задал бы нулевые значения: margin: 0px; padding: 0px; border: 0px; border-collapse: collapse;, а потом бы уже устанавливал те значения, кот. мне нужны
PM MAIL WWW   Вверх
NDenis
Дата 25.1.2008, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 317
Регистрация: 14.12.2007

Репутация: 8
Всего: 8



чего-то вы тут намутили, дивы в ячейки таблицы, ссылки в дивы
обнуляете падинги с маргинами для всего (* {margin:0; padding:0;})
задаете <table id="menu">, ему в стилях ширину и border-collapse:collapse;
ячейке задаете фоном картинку вашу картинку (вот только объясните, зачем вам 2 картинки с отличием в размерах в 2 пикселя?), высоту = высоте картинки, вертикальное и горизонтальное выравнивание
и будет вам счастье smile

PS: а по хорошему это верстается списками, код компактнее получается :]
PM MAIL   Вверх
bars80080
Дата 25.1.2008, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 50
Всего: 315



Цитата

по хорошему это верстается списками

+1 аналогично Ватсон
PM MAIL WWW   Вверх
ilyalyu
Дата 25.1.2008, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 25.10.2006

Репутация: нет
Всего: нет



нужно использовать "display: block" для линков, и можно будет задавать размер, какой нужно.
PM MAIL   Вверх
Qwesa
Дата 25.1.2008, 23:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 9.10.2007

Репутация: нет
Всего: нет



переделал через списки. один момент хочу уточнить - я каждому пункту списка должен прописывать свои стили по скольку у каждого из них свой беграунд, + фоновый рисунок по задумке должен меняться при наведении. Тоесть фактически для каждого пункта придется писать свой стиль. И к то му же при выставлении высоты в 41 пиксель, всеже фоновый рисунок режется с низу пиксилей на 5(( 

Код

#menu {
padding:0;
margin:0;
height:41px;
list-style-type:none;
}
#menu li {
width:232px; 
height:41px;
line-height:2em;
position: static;
text-align:center;
}
#menu li a, #menu li a:visited {
display:block;
text-decoration:none; 
color:#000;
}
#menu li a:hover {
display:block;
border:0; /* needed to trigger IE */
text-align: right;
color: #FFFFFF;
}

я в том смысле что вот к примеру стили отвечающие за список, а вот сам список
Код


<ul id="menu">
<li><a href="#nogo">ITEM 1</a></li>
<li><a href="#nogo">ITEM 2</a></li>
<li><a href="#nogo">ITEM 3</a></li>
<li><a href="#nogo">ITEM 4</a></li>
</ul>


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

Это сообщение отредактировал(а) Qwesa - 25.1.2008, 23:40
PM MAIL   Вверх
bars80080
Дата 28.1.2008, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 50
Всего: 315



1. непонятно, что мешает тебе вместо 41пк, написать столько сколько тебе нужно
2. может стоит порезать сами картинки как надо?
3. если нельзя можно воспользоваться background-position
4. не вижу ничего тотального в твоих рисунках кнопок, если они однообразные, то стили одинаковы абсолютно для всех элементов, т.е. указываем стиль на нужный тэг или нужный класс в крайнем случае и повторяем в каждом элементе
5. на изменение каждого элемента в отдельности это никак не повлияет, когда ты указываешь:
Код
li { background-image: url('1.png'); }
li:hover { background-image: url('2.png'); }
, то изменяться будет только тот элемент на который будет наведена мышь

собственно проблем совершенно не видно 
PM MAIL WWW   Вверх
Qwesa
Дата 28.1.2008, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 9.10.2007

Репутация: нет
Всего: нет



В том то и петрушка))) что картинки кнопок и есть 41пиксель. А визуально они обрезаются пикселей на 8.

 Да и сами кнопки (картинки) немного разные они имеют немного разные оттенки фона, что исключает использование одного обьекта для всех фоновых рисунков.
PM MAIL   Вверх
bars80080
Дата 28.1.2008, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 50
Всего: 315



по предложенной странице, разность в фоне не заметна,
во всяком случае, все стили задаются в общей куче (классы через запятую),
а отличия задаются уже отдельно

по поводу не совпадения размеров, можно сказать только, что надо подгонять точнее,
т.е. лишние пиксели могут появляться от margin, padding, border, border-collapse
и точно ли изображение имеет 41px?, 
ну или можно расширить элемент li у вас же сам элемент li не задан как display: block,
может отсюда ещё проблема?
в крайнем случае можно написать: background-position: 0px -4px;
PM MAIL WWW   Вверх
NDenis
Дата 28.1.2008, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 317
Регистрация: 14.12.2007

Репутация: 8
Всего: 8



please, check it:  smile 
Код

* {margin:0; padding:0;} /*т.н. ластик, обнуляем все отступы изначально */
#menu {
/*height:41px; не вижу смысла этого правила */
list-style:none;
}
#menu li {
background:url(m3.png) no-repeat left; /* фоновая картинка для строки пункта */
width:232px; 
height:41px; /* высота строки  */
line-height:41px; /* для выравнивания строки по вертикали, должно быть равно высоте строки */
text-align:center;
}
#menu li a:link, #menu li a:active, #menu li a:visited {
display:block;
text-decoration:none; 
color:#000;
_height:1%; /* виксим баг IE при задания display:block; для ссылки */
}
#menu li a:hover {
display:block;
border:0; /* needed to trigger IE */
text-align: right;
color: #FFFFFF;
}

Код

<ul id="menu">
<li><a href="#nogo">ITEM 1</a></li>
<li><a href="#nogo">ITEM 2</a></li>
<li><a href="#nogo">ITEM 3</a></li>
<li><a href="#nogo">ITEM 4</a></li>
</ul>

PM MAIL   Вверх
Qwesa
Дата 29.1.2008, 01:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 9.10.2007

Репутация: нет
Всего: нет



)) большое спасибо. А все дело оказывается было в параметре "line-height:41px;" -  я так понял он отвечает за выравнивание текста по вертикали и соответственно он визуально  и резал фон. Еще раз спасибо.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Вёрстка веб-сайтов | Следующая тема »


 




[ Время генерации скрипта: 0.2368 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.