ForumD.ru - Дизайн, графика, скрипты, техническая поддержка для форумов и сайтов

Объявление

🎲 Майский ваншот

Ленивая сезонная майская акция
Сыграем в настольную игру в дискорде?
Пишите, присоединяйтесь к обсуждению!

Подробности

GEMcross

Кроссовер, ориентированный на активную игру и уютный флуд.
Собираем у себя драгоценных игроков уже почти три года.

Посетить

🔥 Новинка в портфолио: ДИЗАЙН И ГРАФИКА В СТИЛЕ GENSHIN IMPACT

Платформа: MyBB.ru (RusFF)
Стоимость: 6500 рублей;
Авторы: Moju & wasurenagusa

Посмотреть

💰 Теперь у нас можно приобрести "Мгновенные уведомления от Алекса"

Скрипт оповещает пользователей о событиях на форуме в реальном времени, придавая динамики общению.
Автор: Alex_63 | Платформа: MyBB.ru.

У нас: структурированная документация, возможность платить иностранными картами, перевыпустить подписку или купить бессрочно.

Купить скрипт

🌟 ОПЛАТА ЗАКАЗА НАГРАДНЫМИ БАЛЛАМИ И СКИДКИ

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

узнать подробности

❤️ Поддержать проект

Если у вас есть желание помочь нам сделать наш проект лучше:
Реклама на сайтеПредложения
Стать модераторомОтзывы

Подробнее

SPECIAL OFFER: We distribute designs for free

Finalizing the layout for your project;
Developing a style code;
Mobile version included if you wish.

Details

Support the project

If you want to help us:
Become a moderator
SuggestionsReviews

Details
❗ ❗ ❗ Technical work is underway. We'll fix it soon. :) If you're english-speaker and want to use our forum, switch to the russian language. This is temporary, until the works with multi-language option will be done. Sorry for the inconvenience.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



Скругленные края и тень для блоков

Сообщений 1 страница 5 из 5

1

Первоисточник: habrahabr.ru

Чего будем добиваться:
http://forumupload.ru/uploads/0009/2d/79/184-1-f.jpg

Ранее подобного можно было добиться лишь с использованием соответствующих картинок или скриптов, теперь же круглые углы у рамок доступны и через свойство CSS3 — border-radius (css3 радиус рамки / css3 радиус границы).

Поддержка браузеров:
Напоминаю, что CSS3 (круглые уголки, тени под текстом и т.п.) поддерживаются не всеми браузерами.
Например, свойство из заглавия топика видят:
— Firefox (начиная с версии 3.0)
— Safari (начиная с версии 3.1)
— Chrome (начиная с первой версии)
— Opera (начиная с версии 10.5)
IE поддерживает это свойство только начиная с девятой серии.

Так как CSS3 еще не стал стандартом, вы должны добавлять префиксы для параметра border-radius, для того, чтобы он работал с браузерами, которые его поддерживают. Если вы хотите чтобы он работал с FireFox, вы должны написать -moz в CSS; если вы хотите, чтобы он работал с Safari/Chrome, вы должны написать -webkit. Для Opera подобных префиксов не нужно.

Назначаем параметр border-radius
Параметр CSS3 border-radius назначается точно также, как и параметры margin (поля) и padding (отступ). Параметр может быть задан один, для всех четырёх углов одновременно, либо вы можете задать значение каждому углу отдельно.
Если использовать shorthand параметры (однострочные), указание одного значения, задаст одинаковый радиус для всех углов:

элемент { -moz-border-radius: 20px; }

С этими настройками CSS, все углы вашей рамки (или бокса) будут с радиусом закругления — 20 пикселей.

Если задать два значения, то первое число будет задавать радиус для верхнего-левого и нижнего-правого угла, а второе число будет задавать радиус для верхнего-правого и нижнего-левого угла вашего бокса:

элемент { -moz-border-radius:20px 40px; }

С этими параметрами CSS, верхний-левый и нижний-правый угол будут иметь радиус 20 пикселей, а верхний-правый и нижний-левый — 40 пикселей.

Вы можете задать и три значения: первое будет радиусом верхнего-левого угла, второе будет радиусом верхнего-правого и нижнего-левого угла, а третье будет радиусом нижнего-правого угла:

элемент { -moz-border-radius:20px 40px 5px; }

С этими параметрами CSS, верхний-левый угол будет с радиусом 20 пикселей, верхний-правый и нижний-левый угол будут с радиусом 40 пикселей, а нижний-правый угол будет с радиусом 5 пикселей.

Последний вариант — задать 4 значения border-radius, каждое будет отвечать за определенный угол: первое — радиус верхнего-левого угла, второе — радиус верхнего-правого угла, третье — радиус нижнего-правого угла и четвертое — радиус нижнего-левого угла.

Задаем значение CSS3 border-radius отдельно для каждого угла
Если вам нужно назначить параметр CSS3 border-radius отдельно для какого-нибудь угла, вы можете это сделать, добавив приставку к “border-radius”. Она зависит от угла, который вам нужно округлить.

-moz-border-radius-topleft — для верхнего-левого угла;
-moz-border-radius-topright — для верхнего-правого угла;
-moz-border-radius-bottomright — для нижнего-правого угла;
-moz-border-radius-bottomleft — для нижнего-левого угла;

Обращаю ваше внимание на то, что для разных префиксов синтаксис может быть также различным:

-moz-border-radius-topleft
-webkit-border-top-left-radius
-khtml-border-top-left-radius
border-top-left-radius

Наглядный пример:
Для скругления краев окошек кода и цитаты я использовал следующий код:

.punbb .quote-box, .punbb .code-box {
border-radius:15px;
-webkit-border-radius:15px;
-khtml-border-radius:15px;
-moz-border-radius:15px;
-o-border-radius:15px;
}


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

Приведу сразу код:

box-shadow: 7px 5px 18px #000;
-webkit-box-shadow: 7px 5px 18px #000;
-khtml-box-shadow: 7px 5px 18px #000;
-moz-box-shadow: 7px 5px 18px #000;

Первое числовое значение задает нам отступ по оси X, второе - по оси Y, третье - это радиус размытия для нашей тени и четвертое - собственно, цвет. Первые два значения можно ставить отрицательными - тогда тень будет смещена в иную сторону.

Значения свойства box-shadow
http://htmlbook.ru/sites/default/files/images/css3/box-shadow-1.png

1. ключевое слово inset устанавливает тень внутри элемента;
2. сдвиг тени по горизонтали (5px — вправо, -5px — влево);
3. сдвиг по вертикали (5px — вниз, -5px — вверх);
4. радиус размытия тени (0 — резкая тень);
5. растяжение тени (5px — растяжение, -5px — сжатие);
6. цвет тени.

Сочетания параметров тени

Код

Результат

Описание

box-shadow: 5px 5px;

http://htmlbook.ru/sites/default/files/images/css3/shadow1.png

Резкая тень справа и снизу.

box-shadow: -5px -5px;

http://htmlbook.ru/sites/default/files/images/css3/shadow2.png

Резкая тень слева и сверху.

box-shadow: 0 0 5px;

http://htmlbook.ru/sites/default/files/images/css3/shadow3.png

Размытая тень вокруг элемента.

box-shadow: 0 0 5px 2px;

http://htmlbook.ru/sites/default/files/images/css3/shadow4.png

Расширение тени на 2 пиксела.

box-shadow: 0 0 5px 2px red;

http://htmlbook.ru/sites/default/files/images/css3/shadow5.png

Красное свечение вокруг элемента.

box-shadow: 0.4em 0.4em 5px rgba(122,122,122,0.5);

http://htmlbook.ru/sites/default/files/images/css3/shadow6.png

Полупрозрачная тень.

box-shadow: inset 0 0 6px;

http://htmlbook.ru/sites/default/files/images/css3/shadow7.png

Тень внутри.

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

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

Итоговый код для использования круглых краев и тени для блоков цитаты (и кода) будет выглядеть так:

.punbb .quote-box, .punbb .code-box {
border-radius:15px;
-webkit-border-radius:15px;
-khtml-border-radius:15px;
-moz-border-radius:15px;
-o-border-radius:15px;

box-shadow: 0px 5px 18px #000;
-webkit-box-shadow:0px 5px 18px #000;
-khtml-box-shadow:0px 5px 18px #000;
-moz-box-shadow:0px 5px 18px #000;
}

+1

2

Хотел сделать тень у цитат и поля для кода.
Такой код работает:

Код:
/* CS1.7 */
.punbb .quote-box, .punbb .code-box {
background: #c1d6db;
  color: #000000;
-webkit-border-radius:20px;
-moz-border-radius:20px;
border-radius:20px;

box-shadow: 0px 5px 18px #000;
-webkit-box-shadow:0px 5px 18px #000;
-khtml-box-shadow:0px 5px 18px #000;
-moz-box-shadow:0px 5px 18px #000;
  }

Но при попытке сделать тень внутрь, дизайн всего форума "слетает".
Пробовал и

Код:
box-shadow: 0px 5px 18px #000;

менять на

Код:
box-shadow: inset 0 0 6px;

И во все поля вставлять параметр:

Код:
box-shadow: inset 0 0 6px;
-webkit-box-shadow: inset 0 0 6px;
-khtml-box-shadow: inset 0 0 6px;
-moz-box-shadow: inset 0 0 6px;

Что я делаю не так?

Браузер: Chrome, версия 23.0.1271.64.

0

3

Так, получилось

Код:
box-shadow:inset 0 0 6px;
-webkit-box-shadow:inset 0 0 6px;
-khtml-box-shadow:inset 0 0 6px;
-moz-box-shadow:inset 0 0 6px;

Кажется, не нужно после двоеточия пробела.

0

4

Вставила такой код 

Код:
-webkit-border-radius:20px;
-moz-border-radius:20px;
border-radius:20px;

box-shadow: 0px 5px 18px #000;
-webkit-box-shadow:0px 5px 18px #000;
-khtml-box-shadow:0px 5px 18px #000;
-moz-box-shadow:0px 5px 18px #000;

Хотела выделить центральный блок тенью, но тень получилась только слева и внизу, а справа нет.

0

5

plod7
странно, поставила протестировать этот код, тень появляется вокруг всего блока, все норм. можете ссылку на форум дать?

0