Сайты - по стандартам, но не стандартные сайты!
Страниц: 1
Всем добрый день. Помогите чайнику.
Идея: сделать блок растягивающийся по ширине и высоте в зависимости от контента и обрамленного фоновым рисунком (в моем случае тенями).
Реализация: создается 8 фоновых картинок, 4 по углам фиксированных размеров, 2 боковых с высотой 1px и верхний с нижним с шириной тоже в 1px.
код HTML:
код css:
#nav {float:left; width:180px; margin-top:20px;}
.tl {background-image:url('img/tl.png'); background-repeat:no-repeat; float:left; width:9px; height:27px; margin-right:-3px;}
.tr {background-image:url('img/tr.png'); background-repeat:no-repeat; float:right; width:9px; height:27px; margin-left:-3px;}
.tc {background-image:url('img/tc.png'); background-repeat:repeat-x; height:27px;}
.cl {background-image:url('img/cl.png'); background-repeat:repeat-y; float:left; width:9px;}
.cr {background-image:url('img/cr.png'); background-repeat:repeat-y; float:right; width:9px;}
.cc {margin:0px 9px;}
.bl {background-image:url('img/bl.png'); background-repeat:no-repeat; float:left; width:9px; height:27px; margin-right:-3px;}
.br {background-image:url('img/br.png'); background-repeat:no-repeat; float:right; width:9px; height:27px; margin-left:-3px;}
.bc {background-image:url('img/bc.png'); background-repeat:repeat-x; height:27px;}Проблема: боковые картинки (cl.png и cr.png) не растягиваются по высоте. В IE картинка растягивается пикселей на 15, а в опере вообще отображается только 1px (т.е реальная высота картинки).
Искал по поиску, но ничего подходящего не нашел. С помощью таблиц данная конструкция создается без проблем, но хочется именно с помощью дивов. Всем зараннее спасибо.
Отредактированно Amestigon (07.03.2011 00:13)
Нет на форуме
Такое подойдёт?
http://debugger.ru/demo/other/roundedbox/
Нет на форуме
Ну, как вариант..
HTML:
контент
и CSS:
.t,.tr,.tl {height:15px;}
.b,.br,.bl {height:19px;}
.tl,.bl,.tr,.br {width:21px;}
.r {background:url(r.gif) repeat-y right;}
.l {background:url(l.gif) repeat-y left;}
.t {background:url(t.gif) repeat-x top center;}
.b {background:url(b.gif) repeat-x bottom center;}
.tl {background:url(tl.gif) no-repeat top left;float:left;}
.tr {background:url(tr.gif) no-repeat top right;float:right;}
.bl {background:url(bl.gif) no-repeat bottom left;float:left;}
.br {background:url(br.gif) no-repeat bottom right;float:right;}
.entry {margin:0 20px;clear:both;}Не самый лучший и полный вариант, но идея должна быть ясна )
Нет на форуме
Ilya Lebedev написал:
Такое подойдёт?
http://debugger.ru/demo/other/roundedbox/
Спасибо за ссылку, но к сожалению это не совсем то. Данный принцип хорош и широко используется на разных сайтах, (в том числе и на этом, по моему), но задумка в том, что бы кардинально менять оформление только за счет изменения непосредственно изображений, не затрагивая код. А это можно сделать только за счет симметрично расположенных картинок. В данном же примере изображения ассиметричны.
Нет на форуме
Ну, используя этот сниппет я вполне успешно меняю оформление на многих сайтах 8*)
В чём проблема асиммертичных изображений -- не вижу.
В любом случае, при смене фоновых картинок придётся менять и CSS, если размеры рамок отличаются от базовых.
Нет на форуме
Кажется получилось.
HTML
Заголовокcss
Код:
.top {text-align:center;} .top .left {background:url(img/tl.png) no-repeat; float:left; width:9px; height:27px; margin-right:-3px;} .top .right {background:url(img/tr.png) no-repeat; float:right; width:9px; height:27px; margin-left:-3px;} .top .center {background-image:url(img/tc.png); height:27px; line-height:27px;} .menu {;} .menu .left {background:url(img/cl.png) left repeat-y;} .menu .right {background:url(img/cr.png) right repeat-y;} .menu .center {padding:1px 0px 1px 0px;} .bottom {;} .bottom .left {background:url(img/bl.png) no-repeat; float:left; width:9px; height:27px; margin-right:-3px;} .bottom .right {background:url(img/br.png) no-repeat; float:right; width:9px; height:27px; margin-left:-3px;} .bottom .center {background-image:url(img/bc.png); height:27px;}А вдруг кому нибудь пригодится.
Отредактированно Amestigon (09.03.2011 16:00)
Нет на форуме
Написал более простой вариант.
С растягивающимися изображениями.
Untitled ![]()
Text!!! Text!!! Text!!! Text!!! Text!!! Text!!! Text!!! Text!!! Text!!! Text!!! Text!!! Text!!!![]()
![]()
На дивах.
Untitled Text!!! Text!!! Text!!! Text!!! Text!!! Text!!! Text!!! Text!!! Text!!! Text!!! Text!!! Text!!!
Отредактированно Demon (09.03.2011 17:56)
Нет на форуме
Demon написал:
Написал более простой вариант.
Ну, может, и простой, но -
в обоих вариантах, в опере и фф. В ие тоже косяки.
Нет на форуме
Страниц: 1