Jump to content
  • 0

срезаемый бордюр-картинка вокруг резинового блока без html5


Rossi25
 Share

Question

Здравствуйте!

Чем-то напоминает соседнюю тему с "ушами".

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

Но как это реализовать при резиновой ширине блока?

Вот примерная картинка:

a4b817b4d980b6a9502597778f661b7f.png.

Пока представляю, только как это можно сделать таблицами, и то не совсем.

Этот код совсем не работает (даже неверно работает центрирование):

  Reveal hidden contents

UPD: Вот вообще как в результате нужно (толстая пунктирная - изображение-бордюр, в тонких пунктирных прямоугольниках - как его можно нарезать на повторяющиеся и неповторяющиеся части). Видимо нужно три div'а по вертикали (шапка, подвал и центральная часть, внутри которой таблица). Помогите, пожалуйста, какие идеи.

400b77c331ad7139f4f632d1e7f578b0.png

Edited by Rossi25
Link to comment
Share on other sites

Recommended Posts

  • 0

Привет.

Если я правильно понял, должно быть как то так:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test</title>
<style type="text/css">
body {
margin:0;
min-width:950px;
background:#ccc;
}
.container {
position:relative;
width:100%;
overflow:hidden;
}
.holder {
position:relative;
left:50%;
min-width:1030px;
}
.frame {
position:relative;
left:-50%;
margin:0 20px;
border-left:20px solid #000;
background:#0f0;
}
.content {
padding:10px;
border-right:20px solid #00f;
}
</style>
</head>
<body>
<div class="container">
<div class="holder">
<div class="frame">
<div class="content">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc egestas, est at malesuada semper, erat ipsum iaculis ante, sed sollicitudin arcu tellus non magna. Fusce lectus nisl, rhoncus sit amet mollis sed, lobortis id sem. Morbi quis elit nec purus suscipit mollis in quis arcu. Aenean hendrerit, urna ut adipiscing dapibus, purus dui suscipit ipsum, quis sollicitudin lorem enim nec elit. Vestibulum nec ante at metus egestas tristique et ut metus. Nulla laoreet orci posuere tortor semper condimentum. Aliquam non felis at eros feugiat porta. Nullam rutrum malesuada euismod. Mauris ultrices sodales odio eget ornare. Nunc et sagittis elit. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Donec fringilla luctus purus, ut molestie neque cursus vel. Phasellus justo velit, hendrerit vitae molestie vel, feugiat eu purus. Suspendisse elementum vestibulum ullamcorper.</p>
</div>
</div>
</div>
</div>
</body>
</html>

Link to comment
Share on other sites

  • 0

Привет!

Конечно неплохо, но где же изображение-бордюр? Нужно, чтобы слева и справа от контента было тянущееся по вертикали (типа repeat) изображение, а не solid border. Разве это не видно из моей картинки, как хотелось бы получить?

В любом случае спасибо за отзыв.

  On 7/17/2011 at 4:09 PM, hoper said:
  Reveal hidden contents

Привет.

Если я правильно понял, должно быть как то так:

Edited by Rossi25
Link to comment
Share on other sites

  • 0

ничего не мешает сменить бордер на картинку

<style type="text/css">
body {
margin:0;
min-width:950px;
background:#ccc;
}
.container {
position:relative;
width:100%;
overflow:hidden;
}
.holder {
position:relative;
left:50%;
min-width:1030px;
}
.frame {
position:relative;
left:-50%;
margin:0 20px;
padding-left:20px;
background:#0f0 url(http://img546.imageshack.us/img546/5531/stripe.gif) repeat-y;
}
.content {
padding:10px 30px 10px 10px;
background: url(http://img546.imageshack.us/img546/5531/stripe.gif) repeat-y 100% 0;
}
</style>

Edited by hoper
Link to comment
Share on other sites

  • 0

Во! уже ближе.. Спасибо!

  On 7/17/2011 at 4:30 PM, hoper said:

ничего не мешает сменить бордер на картинку

<style type="text/css">
body {
margin:0;
min-width:950px;
background:#ccc;
}
.container {
position:relative;
width:100%;
overflow:hidden;
}
.holder {
position:relative;
left:50%;
min-width:1030px;
}
.frame {
position:relative;
left:-50%;
margin:0 20px;
padding-left:20px;
background:#0f0 url(http://img546.imageshack.us/img546/5531/stripe.gif) repeat-y;
}
.content {
padding:10px 30px 10px 10px;
background: url(http://img546.imageshack.us/img546/5531/stripe.gif) repeat-y 100% 0;
}
</style>

Link to comment
Share on other sites

  • 0

Что-то не пойму все-равно, как дальше то написать код, чтобы подвал уехал к низу окна. И не понимаю, где задается сколько именно процентов от ширины окна будет занимать контент. Помогите, пожалуйста.

UPD: подвал уезжает к низу при задании html {height: 100%;}, но фон контента не продолжается до подвала =(

Картинка:

  Reveal hidden contents

35af3db9193f274c27bfb76ef1328c15.png

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test</title>
<style type="text/css">
html {
height: 100%;
}
body {
margin:0;

background:#ccc;

/*min-width:950px;*/
}
.container {
position:relative;
width:100%;
overflow:hidden;
height: 1%;
padding: 0 0 100px;
}
.holder {
position:relative;
left:50%;
min-width:1030px;
}
.frame {
position:relative;
left:-50%;
margin:0 20px;
padding-left:20px;
background:#0f0 url(http://img89.imageshack.us/img89/360/kanatvert1.png) repeat-y;
}
.content {
padding:10px 30px 10px 10px;
background: url(http://img89.imageshack.us/img89/360/kanatvert1.png) repeat-y 100% 0;
}
#wrapper {
/*width: 950px; */
width: 90%;
min-width: 950px;
margin: 0px auto;
min-height: 100%;
height: auto !important;
height: 100%;
border: #000 solid 1px;
}
#footer {
width: 90%;
min-width: 950px;
margin: -100px auto 0px;
height: 100px;
background: #BFF08E;
}
</style>
</head>
<body>
<div id="wrapper">
<div class="container">
<div class="holder">
<div class="frame">
<div class="content">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc egestas, est at malesuada semper, erat ipsum iaculis ante, sed sollicitudin arcu tellus non magna. Fusce lectus nisl, rhoncus sit amet mollis sed, lobortis id sem. Morbi quis elit nec purus suscipit mollis in quis arcu. Aenean hendrerit, urna ut adipiscing dapibus, purus dui suscipit ipsum, quis sollicitudin lorem enim nec elit. Vestibulum nec ante at metus egestas tristique et ut metus. Nulla laoreet orci posuere tortor semper condimentum. Aliquam non felis at eros feugiat porta. Nullam rutrum malesuada euismod. Mauris ultrices sodales odio eget ornare. Nunc et sagittis elit. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Donec fringilla luctus purus, ut molestie neque cursus vel. Phasellus justo velit, hendrerit vitae molestie vel, feugiat eu purus. Suspendisse elementum vestibulum ullamcorper.</p>
</div>
</div>
</div>

</div>
</div><!-- #wrapper -->
<div id="footer">
<strong>Footer:</strong> Mus elit Morbi mus enim lacus at quis Nam eget morbi. Et semper urna urna non at cursus dolor vestibulum neque enim. Tellus interdum at laoreet laoreet lacinia lacinia sed Quisque justo quis. Hendrerit scelerisque lorem elit orci tempor tincidunt enim Phasellus dignissim tincidunt. Nunc vel et Sed nisl Vestibulum odio montes Aliquam volutpat pellentesque. Ut pede sagittis et quis nunc gravida porttitor ligula.
</div><!-- #footer -->
</body>
</html>

Edited by Rossi25
Link to comment
Share on other sites

  • 0

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

  Reveal hidden contents

Link to comment
Share on other sites

  • 0

Помогите, пожалуйста, есть ещё какие-нибудь идеи?

Вот вообще как в результате нужно (толстая пунктирная - изображение-бордюр, в тонких пунктирных прямоугольниках - как его можно нарезать на повторяющиеся и неповторяющиеся части). Видимо нужно три div'а по вертикали (шапка, подвал и центральная часть, внутри которой таблица). Помогите, пожалуйста, какие идеи.

400b77c331ad7139f4f632d1e7f578b0.png

Link to comment
Share on other sites

  • 0
  On 7/21/2011 at 8:59 AM, spdif said:
  On 7/21/2011 at 7:09 AM, Rossi25 said:
есть ещё какие-нибудь идеи?

...

для слоя чьим родителем является body используйте множественный фон

как сделать см. здесь

Спасибо. Но, к сожалению, нельзя отказываться от IE8.

Link to comment
Share on other sites

  • 0
  On 7/22/2011 at 7:18 AM, Great Rash said:

Объясните все еще раз по-человечески. Раза 3 прочитал тему, но так и не понял, что надо сделать.

Да, наверное тяжело понять, т.к. сразу несколько вопросов(проблем) описываю.

1. Как сделать бордюр вокруг блоков с содержимым в виде разных изображений. Сделал картинку, что именно хотелось бы получить (см. выше).

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

Но накладываются дополнительные трудности:

1.1. Бордюр-изображение должен быть вокруг резиновых блоков, т.е. как по горизонтали блоки могут тянуться в зависимости от окна браузера, так и по вертикали в зависимости от величины контента (на рисунке видно, что тянется только один блок, остальные имеют фиксированную высоту). Таким образом некоторые части бордюра (вокруг боковых частей блоков) являются повторяющимися, типа repeat-x сверху-снизу и repeat-y слева-справа.

1.2. При уменьшении окна браузера до min-width (гориз. полоса прокрутки появляется только при меньшей ширине экрана) левая и правая части борюра-изображений не должны быть видны. Т.е. бордюр отстоит от блоков с содержимым на некую постоянную величину px, а при минимальной ширине окно становится вплотную к контентным блокам.

-- В принципе первые два подпункта решаются так, как предложил hoper за что ему отдельное спасибо. Возможно, есть и другие варианты решения этих проблем. Вокруг углов должны располагаться неповторяющиеся части бордюра, скругления. Но поскольку в левом нижнем углу нужно вставить неповторющийся участок изображения, слева от которого не должно быть повторяющегося участка, то это самая главная проблема (см. рисунок - 250px слева внизу), пока не решенная.

2. Как прижать при этом подвал в низу окна, если контента мало на странице.

Edited by Rossi25
Link to comment
Share on other sites

  • 0

По картинке нифига не понятно, так же как и из ваших обяснений...

  Quote
1. Как сделать бордюр вокруг блоков с содержимым в виде разных изображений. Сделал картинку, что именно хотелось бы получить (см. выше)

http://jsfiddle.net/TYgGk/

Остальное не понял.

Link to comment
Share on other sites

  • 0
  On 7/22/2011 at 1:37 PM, Great Rash said:

По картинке нифига не понятно, так же как и из ваших обяснений...

  Quote
1. Как сделать бордюр вокруг блоков с содержимым в виде разных изображений. Сделал картинку, что именно хотелось бы получить (см. выше)

http://jsfiddle.net/TYgGk/

Остальное не понял.

Спасибо за ссылку, пока не смог разобраться правда.

Что именно непонятно?

Вот как пока получилось так - подвигайте ширину браузера. У меня не получается пока пункт 1.3(--), чтобы левая картинка повторяющаяся внизу не до конца доходила. и подвал к низу окна пока не прилепляется.

Edited by Rossi25
Link to comment
Share on other sites

  • 0
  On 7/22/2011 at 7:28 PM, Rossi25 said:
Вот как пока получилось так

...

а попробуйте псевдоелементы, как в примере ниже

<!DOCTYPE html>
<html>
<head>
<title>Поведение фона при изменении размера окна браузера.</title>
<style>
div { position: relative; z-index: 0; min-width: 200px; min-height: 88px; padding: 0 44px 0 166px; text-align: center; background: #fff url(http://test.eliteproekt.ru/maket/kanat2-bg.png) 0 95% repeat-x; }
div:before,
div:after { position: absolute; z-index: -1; left: 0; right: 0; bottom: 0; }
div:before { content: url(http://test.eliteproekt.ru/maket/yakor3-2.png); text-align: left; }
div:after { content: url(http://test.eliteproekt.ru/maket/kanat4-bg.png); text-align: right; }
</style>
</head>
<body>
<div>
<p>Используем псевдоэлементы :after и :before, а также стилевое свойство content.</p>
</div>
</body>
</html>

...

Link to comment
Share on other sites

  • 0
  On 7/23/2011 at 4:59 AM, spdif said:

а попробуйте псевдоелементы, как в примере ниже

<!DOCTYPE html>
<html>
<head>
<title>Поведение фона при изменении размера окна браузера.</title>
<style>
div { position: relative; z-index: 0; min-width: 200px; min-height: 88px; padding: 0 44px 0 166px; text-align: center; background: #fff url(http://test.eliteproekt.ru/maket/kanat2-bg.png) 0 95% repeat-x; }
div:before,
div:after { position: absolute; z-index: -1; left: 0; right: 0; bottom: 0; }
div:before { content: url(http://test.eliteproekt.ru/maket/yakor3-2.png); text-align: left; }
div:after { content: url(http://test.eliteproekt.ru/maket/kanat4-bg.png); text-align: right; }
</style>
</head>
<body>
<div>
<p>Используем псевдоэлементы :after и :before, а также стилевое свойство content.</p>
</div>
</body>
</html>

...

Да, интересно - меньше кода получается, и легче не запутаться. Но вариант из 2-го поста более кроссбраузерный, поэтому я его и пытаюсь использовать. Осталась проблема с подвалом - как растянуть центральную часть до подвала, если контента мало. Вот тут таблица почему-то не растягивается на 100% и сбилось наличие вертикальной полосу прокрутки при маленькой высоте окна браузера.

Edited by Rossi25
Link to comment
Share on other sites

  • 0
  On 7/22/2011 at 1:37 PM, Great Rash said:

По картинке нифига не понятно, так же как и из ваших обяснений...

  Quote
1. Как сделать бордюр вокруг блоков с содержимым в виде разных изображений. Сделал картинку, что именно хотелось бы получить (см. выше)

http://jsfiddle.net/TYgGk/

Остальное не понял.

С таким вариантом, к сожалению, аналогичная проблема, что центральная часть-таблица не растягивается до подвала при малом контенте, а при малой высоте окна браузера срезается БЕЗ появления вертикальной полосы прокрутки вообще все содержимое вот так:

2944388.png

Помогите знатоки, пожалуйста.

UPD: Смотерть сюда - http://blog.sjinks.pro/css/209-cross-browser-liquid-three-column-layout-full-height/ ? или есть более лучший/простой способ, или тут лучше с таблицами все делать?

Edited by Rossi25
Link to comment
Share on other sites

  • 0

Могу лишь предположить, что всем тупо лень разбираться в коде. Ну а лично мне, тоже лень, и из ваших картинок и объяснений я вообще ничего не понимаю. Вроде по отдельности все слова знаю, а вместе ничего непонятно...

Link to comment
Share on other sites

  • 0
  On 7/26/2011 at 11:54 AM, Great Rash said:

Могу лишь предположить, что всем тупо лень разбираться в коде. Ну а лично мне, тоже лень, и из ваших картинок и объяснений я вообще ничего не понимаю. Вроде по отдельности все слова знаю, а вместе ничего непонятно...

Ну то что вам лично лень, это ясно было и ранее из ваших сообщений - не только в коде разобраться, а понять смысл проблемы, ибо кого не спрашивал, все понимают, в чем проблема.

Edited by Rossi25
Link to comment
Share on other sites

  • 0

Вы наверное голосом спрашиваете и с пояснениями, и самое интересное, че в ответ говорят =)? Честное слово, я тоже не понял особо. Например, что будет с левой нижней картинкой - обрезанным углом, если боковые бордеры "уйдут" под малую ширину раскрыва?

В общем, забудьте что Вы раньше писали. Надо 4 картинки с небольшими пояснениями - как есть, когда раскрыв полный и минимальный и как бы хотелось, то же самое, полный и минимальный.

Link to comment
Share on other sites

  • 0
  On 7/26/2011 at 3:20 PM, Rossi25 said:
... кого не спрашивал, все понимают, в чем проблема.

ну так в чем же проблема?

и если она понятна тогда локализуйте её, пишите конкретно > телепатoff.net

  Reveal hidden contents


  • да и фоновые подготовьте правильно ...

Link to comment
Share on other sites

  • 0
  On 7/27/2011 at 6:16 AM, Justnewone said:

... Например, что будет с левой нижней картинкой - обрезанным углом, если боковые бордеры "уйдут" под малую ширину раскрыва?

Она должна оставаться на месте, её часть будет не видна - должна часть уйти вместе с боковыми бордерами - вот.

  On 7/27/2011 at 6:16 AM, Justnewone said:

В общем, забудьте что Вы раньше писали. Надо 4 картинки с небольшими пояснениями - как есть, когда раскрыв полный и минимальный и как бы хотелось, то же самое, полный и минимальный.

Как есть, видно по ссылке:

1. На большом экране - 91f48518f49f4a6b8d711e70e140bb1b.png

2. На маленьком экране - cb186257051a17f5bdfdbd274e5d3e8a.png

3. На большом экране подвал должне быть прижат к низу окна браузера даже при малой заполненностью контентом, средняя часть растянута до подвала9d4e2f0914318778e968814c836d7a86.png

4. Как и сейчас, при небольшой ширине экрана (условно менее 950px) срезаются левые и правые бордюры и часть картинки слева-внизу. Если в средней части контента много, то он толкает подвал и появляется вертикальная полоса прокрутки 490ba6a67717ab2d96034972f6824ec9.png

Ну и вообще шапка тут тоже задумана, просто тоже пока не сделана на этих картинках, но вроде с шапкой попроще, чем с подвалом.

UPD: Собственно, разве все это не показано размерными стрелками на этом рисунке? - мне казалось он полностью все объясняет. Что в нем не так, не ясно? Единственное - предполагается, что все выровнено по горизонтали по центру.

400b77c331ad7139f4f632d1e7f578b0.png

Edited by Rossi25
Link to comment
Share on other sites

  • 0
  On 7/27/2011 at 2:16 PM, spdif said:
  Reveal hidden contents

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

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy