Jump to content
  • 0

Вёрстка изогнутых блоков


coldug
 Share

Question

Ребята помогите с такими вот вопросами.Я нуб если что =)

Есть блок c6059a098ace.jpg ,нужно что бы он при добавлении текста расстягивался в длину и ширину .

Теперь вопросы:

1)Как правильно его нарезать в фотошопе ?(какой формат для сохранения ,кол-во частей которое получиться после нарезки)

2)Как позиционировать (float,margin,position?) его отрезаные части(бока,верх,низ) что бы они точно прилегали к блоку?

3)И как будет выглядить код html

Вот как я делал похожий блок, у него изогнуты только бока :

1) PNG24 ,градиент центра,левый и правый бок

2,3)


<div class="box">
<div class="box-right">
</div>
<div class="box-left">
</div>
</div>


.box {
position:absolute;



.box-right{

position:absolute;
right:0;

}
.box-left{

position:absolute;
left:0;


Я почти уверен что я сделал не правильно ,помогите разбораться и дайте пару советов по нарезке макета ,тоже не помешают.

Заранее благодарен.

Edited by coldug
Link to comment
Share on other sites

Recommended Posts

  • 0

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

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

Link to comment
Share on other sites

  • 0

1) нарезаешь примерно так:

1940462.png

2) Резина у тебы здесь не получится из-за нижней изогнутости. Такое лучше фикс делать. Хотя можно при помощи всяческих извращений сделать резиной и такое

Link to comment
Share on other sites

  • 0

Тоже интересно какие изображения взяты для псевдоэлементов.

Как я понял позиционирование для склеивания блока применяеться и какие есть еще способы?

Покажите кому не сложно примеры склеивания разрезаного изогнутого блока ,можно фиксированого.

Link to comment
Share on other sites

  • 0

psywalker, а ты добавь цвет к body )

Ага, понял, спасибо.

SelenIT, а почему ты вешаешь изображения именно на свойство content ?, а не на background, например так:

.block:after {
background: url(http://img51.imageshack.us/img51/4601/bottomzd.png) no-repeat;
position: absolute;
bottom: -1px;
left: 0;
display: block;
width: 100%;
height: 20px;
z-index: 1;
content: '';
}

Link to comment
Share on other sites

  • 0

SelenIT, а почему ты вешаешь изображения именно на свойство content ?, а не на background, например так:

Я думаю, что для этого есть специальный функционал (url) для content'а, то зачем писать лишнюю строчку?

SelenIT, в книге Мейера написано(дословано):

Может показаться, что позиционирование содержимого элементов :before и :after позволило бы добиться желаемого результата, но CSS2 и CSS2.1 специально запрещают перемещение или позиционирование содержимого элементов :before и :after.

А у тебя :before и :after позиционированы абсолютно. Может, я что-то не понимаю?

Поэкспериментировав поняла, что :before и :after располагаются в content-box'e блока. это правильно?

Еще вопрос- чем отличаются нововеденные ::before и ::after от :before и :after?

Edited by cheburek
Link to comment
Share on other sites

  • 0

cheburek,

Я думаю, что для этого есть специальный функционал (url) для content'а, то зачем писать лишнюю строчку?

Возможно, но тогда почему намного чаще делают именно наоборот? Вот это и хочется понять, понять разницу, все плюсы и минусы этих подходов.

Еще вопрос- чем отличаются нововеденные ::before и ::after от :before и :after?

Да, тоже интересно узнать.

Link to comment
Share on other sites

  • 0

Еще вопрос- чем отличаются нововеденные ::before и ::after от :before и :after?

Ничем. :after - это синтаксис CSS2.1 а ::after - CSS3.

Дословно:

The ::after notation was introduced in CSS 3 in order to establish a discrimination between pseudo-classes and pseudo-elements. Browsers also accept the notation :after introduced in CSS 2.

То есть такой синтаксис был введен в CSS3 для определения различий между псевдо-классами и псевдо-элементами.

  • Like 2
Link to comment
Share on other sites

  • 0
почему первый рисунок для before такой кривой? Это какая-то магия или просто небрежность?

Должна быть правая половина эллипса 30?400, позиционируется по середине блока. При высоте блока до 400px должно быть приемлемое закругление, при большей высоте получается фигня. Я надеялся, что мне удастся растянуть псевдоэлемент по высоте (тогда хватило бы и меньшей исходной картинки), но почему-то не удалось. По моим интуитивным представлениям, псевдоэлемент с внешним содержимым должен вести себя как полный аналог <img>, но, похоже, это не так...

CSS2 и CSS2.1 специально запрещают перемещение или позиционирование содержимого элементов :before и :after
В CSS2, действительно, такое написано, но из CSS2.1, судя по всему, за долгие годы развития спеки это нелепое ограничение убрали. Возможно, не до конца :)
:before и :after располагаются в content-box'e блока. это правильно?
Они дописываются к содержимому блока (до и после него соответственно), поэтому по умолчанию — да, так и есть.
тогда почему намного чаще делают именно наоборот?
Вероятно, из-за спрайтов. Хотя с content:url(...) спрайты тоже можно использовать, разве что у clip синтаксис неудобный...

P.S. Буду безумно благодарен за помощь в выяснении причин отличия позиционированного псевдоэлемента от аналогичного <img>!

Link to comment
Share on other sites

  • 0
тогда почему намного чаще делают именно наоборот?
Вероятно, из-за спрайтов. Хотя с content:url(...) спрайты тоже можно использовать, разве что у clip синтаксис неудобный...

А выходит, что если мы делаем так content:url(...), то мы автоматом делаем <img> в контенте псевдоэлемента? Расскажи плиз поподробнее.

P.S. Буду безумно благодарен за помощь в выяснении причин отличия позиционированного псевдоэлемента от аналогичного <img>!

И я! :D

Link to comment
Share on other sites

  • 0

Да, насчет аналогии псевдоэлементов с content:url(...) и img я заблуждался. Зато, оказывается, синтаксис псевдоэлементов позволяет комбинировать картинки и текст. И больше того — можно комбинировать content:url с фоном, добавляя одним псевдоэлементом 2 картинки (т.е.до 5 картинок на один элемент средствами чистого CSS2.1)!

Link to comment
Share on other sites

  • 0

Да, насчет аналогии псевдоэлементов с content:url(...) и img я заблуждался. Зато, оказывается, синтаксис псевдоэлементов позволяет комбинировать картинки и текст. И больше того — можно комбинировать content:url с фоном, добавляя одним псевдоэлементом 2 картинки (т.е.до 5 картинок на один элемент средствами чистого CSS2.1)!

Да, но тогда как же нам например позиционировать в псевдоэлементе этот самый content:url(...) вместе с background по разным углам? Не мог бы ты замутить небольшой примерчик? :rolleyes:

Link to comment
Share on other sites

  • 0

Спасибо всем за помощь ,но всё таки то что хотелось не разобрал.Вот перефразирую вопросы.

Вот блок,52a7233b425a.jpg изогнутый в центре и справа.

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

Вопросы:

1)Как бы вы нарезали этот блок?

2)Как лечге всего склеить между собой части блока (желательно приммер html,css)как сделать резиновым не обязательно.

Очень нужно разобраться как склеивать блоки ,не обязательно резиновые ,любые...

Еще раз всем спасибо.

Link to comment
Share on other sites

  • 0

Да, насчет аналогии псевдоэлементов с content:url(...) и img я заблуждался. Зато, оказывается, синтаксис псевдоэлементов позволяет комбинировать картинки и текст. И больше того — можно комбинировать content:url с фоном, добавляя одним псевдоэлементом 2 картинки (т.е.до 5 картинок на один элемент средствами чистого CSS2.1)!

Да, но тогда как же нам например позиционировать в псевдоэлементе этот самый content:url(...) вместе с background по разным углам? Не мог бы ты замутить небольшой примерчик? :rolleyes:

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

Очень хочу, чтоб примерчик был. :)

Вообще полезная тема получилась, в мемориз! :lol:

Да, и ждем продолжения :)

Edited by cheburek
Link to comment
Share on other sites

  • 0

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

Скоро выложу ще вариант изготовления изогнутости справа, слева и снизу.

Edited by ctpz
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