Каскадныя табліцы стыляў
CSS рады & прыёмы

(Гэтая старонка выкарыстоўвае каскадныя табліцы стыляў CSS)

Дадзены дакумент з'яўляецца перакладам артыкула "Web Style Sheets CSS tips & tricks".
Арыгінальная версія якога існуе толькі на сайце W3C http://www.w3.org/Style/Examples/007/roundshadow.html
Дадзены пераклад не з'яўляецца афіцыйным дакументам W3C.
Усе Аўтарскія Правы Належаць W3C.
Дадзены дакумент можа ўтрымоўваць памылкі перакладу і памылкі друку.

Аўтар: Аляксей Пятроў ( усе пераклады ) Дзякуй за падтрымку: Чорны Квадрат

Закругленыя & з ценем

Пяць малюнкаў

Вынік

Закругленыя куты і блокі з ценем

CSS3 будзе валодаць магчымасцю ствараць закругленыя бокі, бокі, якія складаюцца з малюнкаў і блокі з ценямі, але пры дапамозе вызначаных дзеянняў вы зможаце імітаваць некаторыя з іх ужо з версіяй CSS2 — без якіх-небудзь табліц або дадатковага афармлення.

Гэтая старонка была прыдуманая і створаная Арвэ Берсвэндсанам. У яго есць шмат іншых цікавых дэманстрацый CSS.

Зразумела, стварэнне закругленых кутоў і ценяў будзе спрошчана ў версіі CSS3. Напрыклад, для таго, каб задаць параграфу тоўстую чырвоную мяжу з закругленымі кутамі, вам спатрэбяцца ўсяго дзве лініі CSS3, падобныя гэтым:

P { border: solid thick red;
    border-radius: 1em }

А для таго, каб дадаць змазаны цень на палову еm ніжэй і правей параграфа, досыць будзе ўсяго адной лініі:

P { box-shadow: black 0.5em 0.5em 0.3em }

(Вы можаце паспрабаваць тут працўе ен ці не.) Але калі яны патрэбны вам зараз і складанасць і недахоп гнуткасці для вас не перашкода, вы можаце выкарыстаць тэхналогію, апісаную ніжэй. У канцы канцоў, гэта будзе выдатным тэстам для карыстадьнікаў браўзэраў buggy …

Пяць малюнкаў на адным элеменце

Галоўны трук - выкарыстанне згенераванага кантэнту '::before' і '::after') для памяшкання чатырох дадатковых малюнкаў у адзін элемент. '::before' псеўда элемент можа мець фонавы і пярэдні пласт, '::after' псеўда элемент - таксама. Элемент сам можа мець фонавы пласт у цэлым для пяці малюнкаў.

Мы ствараем пяць PNG малюнкаў і размяшчаем іх у чатырох кутах і насупраць правага боку элемента. Вось малюнкі:

верхні левы кут:
top left corner
верхні бок і верхні правы кут:
top right corner
сярэдняя частка правы бок:
background and right edge
ніжні левы кут:
bottom left corner
ніжні бок і ніжні правы кут:
bottom and bottom left corner

А вось правілы CSS для іх размяшчэння:

blockquote {
    max-width: 620px;
    background: url(rs-right.png) right repeat-y }
blockquote::before {
    display: block;
    line-height: 0;
    background: url(rs-topright.png) top right no-repeat;
    content: url(rs-topleft.png) }
blockquote::after {
    display: block;
    line-height: 0;
    background: url(rs-bottomright.png) bottom right no-repeat;
    content: url(rs-bottomleft.png) }

Бо наш фонавы малюнак - 620px шырынёй, мы не можам дазволіць блокі шырэй 620px без інтэрвалаў. Таму тут ёсць уласцівасць 'max-width'. Уласцівасць 'display: block' неабходна для таго, каб упэўніцца, што згенераваны кантэнт фармуе ўласныя блокі зверху і знізу асноўнага кантэнту, замест таго, што змяшчаецца на першым і апошнім радку. Уласцівасць 'line-height: 0' гарантуе, што зверху і знізу малюнкаў застанецца месца для надрадковых і падрадковых знакаў ва ўласцівасці 'content'.

Вынік

А вось як яно выглядае:

Бачыце бледны зялёны блок з закругленымі кутамі і ценем на белым фоне? Калі не, - ваш браўзэр некарэктна наладжаны для згенераванага кантэнту (або наогул не наладжаны).

Крыніца HTML павінен быць наступным:

<blockquote>
<p>Бачыце бледны зялёны блок з закругленымі кутамі 
і ценем на белым фоне? Калі не, -
ваш браўзэр не карэктна наладжаны для згенераванага кантэнту
(або наогул не наладжаны).</blockquote>

І калі жадаеце праверыць, ці зможа ўжо ваш браўзэр зрабіць гэта пры дапамозе CSS3, вы можаце паспрабаваць тут.

CSS Valid CSS!Valid HTML 4.0!

Bert Bos
Дакумент Створаны 6 студзеня 2004;
Апошнія змены $Дата: 2007/07/20 16:19:10 $ GMT