Box shadow з одного боку. Внутрішні тіні у CSS. Тінь у стилі «матеріальний дизайн»

Пояснення:

  1. , — властивості мови CSS, що використовуються для створення тіней.
  2. , , - Параметри якості тіней.
  3. , , , - властивості CSS, відповідають за зміну розмірів та розташування елементів.
  4. - Тег, відповідає за створення посилань.
  5. Селектори - свого роду посилання, за допомогою яких CSS визначає, до яких саме елементів потрібно застосовувати ті чи інші стилі.
  6. Hover – селектор стану.
  7. - Властивість анімованої зміни об'єкта.

Тіні часто використовуються для отримання ефекту об'ємності. Вони дозволяють надати текстам і блокам унікального стилю, а в поєднанні з особливими шрифтами, може вийти відмінний ефект.

CSS пропонує нам стільки простору для фантазії та експериментів, що вам знадобляться роки для того, щоб випробувати їх усі.

У цій статті ми докладно опишемо створення тіней у CSS. Окрім звичайних зовнішніх тіней, ми покажемо як створювати внутрішні тіні та тіні стану.

CSS – тінь блоку. Властивість box-shadow


html( background: #fff; ) body( width: 80%; margin: 0 auto; background-color: rgba(150,60,60,0.54) box-shadow: -1px 5px 5px 5px rgba(77,63,63) ,0.88) )

Інструмент дозволяє нам створити одну або кілька тіней навколо блоку з будь-яким кольором.

Що таке тінь? Це точна копія площі елемента, яка має певний колір та розташування. Ці параметри можна встановити за допомогою властивості box-shadow.

Властивості тіні використовуються в такому порядку:

  1. Переміщення по горизонталі.
  2. Переміщення по вертикалі.
  3. Рівень розпливчастості.
  4. Розтягування.
  5. Колір тіні.

Саме у такому порядку потрібно вказувати параметри тіні. Головне, не переплутати значення, тому що перші 4 задаються однаково, за допомогою числових значень , , і так далі.

Перший параметр, який називається - Зміщує тінь по горизонталі щодо блоку. Приймає будь-які значення, включаючи негативні.

Негативні значення зміщують тінь вліво, а позитивні вправо. Значення параметра може бути 0 при розмитті тіней по вертикальній осі.

Далі по порядку йде властивість . Відповідає за рух тіні по вертикалі. Теж набуває будь-яких значень — позитивних і негативних. Негативні значення зміщують тінь вгору, а позитивні вниз.

Параметру може бути надано значення 0. Зазвичай використовується при горизонтальному розмитті тіней.

Увага! Радимо вказувати значення у пікселях. Можете використовувати й інші значення , ,% та інші, але робити це не рекомендується. Всі ці величини досить великі для створення тіней. Вказавши їх можна перебрати з розмірами.

3 значення - чи розмиття. Це значення вводити не обов'язково, без його вказівки тіні все одно працюватимуть.

Задане значення визначає радіус, яким буде розмиватись тінь. Негативні значення не вказуються.

Тут можна використовувати і більші величини. Сильне розмиття допоможе створити барвистий ефект, але лише в деяких ситуаціях.

Передостаннє значення відповідає за розтягнення тіні. Воно також є необов'язковим, але може підвищити яскравість вашої тіні.

Розширення відбувається за рахунок розтягування центральної суцільної частини тіні, що знаходиться між розмитими краями.

Цей параметр приймає будь-які значення, як позитивні, і негативні. Позитивні значення розтягують тінь, а негативні, навпаки, зменшують.

І останній параметр - . Його також необов'язково вказувати, оскільки за замовчуванням тінь блоку має власний колір – чорний.

Для зміни кольору підійде будь-яка система кольорів — , а також стандартні кольори.

Увага! Якщо ви хочете, щоб властивість працювала в Safari, цей параметр повинен бути вказаний, навіть якщо ви використовуєте стандартний чорний колір.

Внутрішня тінь - CSS


html( background: #fff; ) body( width: 80%; margin: 0 auto; background-color: rgba(150,60,60,0.54) box-shadow: -1px 5px 5px 5px rgba(77,63,63) ,0.88) inset;

Отже, розглянемо перший приклад застосування тіней. Тут ми розглядатимемо створення внутрішньої тіні для блоку body.

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

Відкриваємо наш CSS документ, записуємо тег Він буде нашим основним селектором.

Далі відкриваємо фігурні дужки та записуємо властивість . Задаємо розташування, розмиття, розтяг. Як задавати ці значення, ви вже знаєте. Після цього задаємо колір тіні, ми зробили білий, але ви можете поставити на свій смак.

Тепер найголовніше. Щоб створити внутрішню тінь блоку в CSS потрібно прописати значення inset. Можете вказати його одразу після визначення кольору.

У результаті, у нас вийшов такий блок:

HTML/CSS — тінь тексту


html( background: #fff; ) body( width: 80%; margin: 0 auto; background-color: rgba(150,60,60,0.54) box-shadow: -1px 5px 5px 5px rgba(77,63,63) ,0.88) inset; ) div( margin: 150px; box-shadow: -1px 5px 5px 5px rgba(77,63,63,0.88); font-size: 25px; )

Створюється схожим чином, але замість box-shadow використовується властивість . Параметри якості йдуть у порядку.

  1. Зсув по горизонталі.
  2. Зсув по вертикалі.
  3. Радіус розмиття. Не обов'язково.
  4. Колір.

Як бачите, у цій властивості немає параметра розтягування. Розмір тіні завжди буде ідентичним розміру тексту, виправити це не вийде.

Дуже зручно накладати тіні один на одного. Для цього потрібно перерахувати декілька груп параметрів

Перша тінь розташовуватиметься ближче до тексту, а друга вище її. Нагадує роботу з властивостями outline та border, але тут можна створювати і 2, 3 і більше тіней.

Тіні при наведенні - CSS

Тепер розглянемо створення тіней для певного стану. У прикладі буде використовуватися кнопка.

Для того щоб створити тінь для кнопки, її для початку потрібно розмістити. Відкриваємо тег a, записуємо для нього клас button та будь-яке текстове значення, для кращого відображення.

Спочатку поставимо розміщення, за допомогою якості margin і збільшимо кнопку до певних розмірів. Для збільшення можна використовувати властивості width і height, або скористатися властивістю padding.

Тепер задаємо колір тла, тексту та рамку. Наша кнопка готова, приступаємо до створення тіні.

Спочатку створимо звичайну тінь, невеликого розміру за допомогою box-shadow. Вона буде помітна за замовчуванням, без наведення на кнопку.


Зробимо найпростіший ефект – збільшимо тінь. Можете зробити її розмитою або змінити розтягнення - за смаком.

Для кращого ефекту задамо властивість transition для звичайного посилання, поставимо час 0.5s.

Тепер у нас є відмінна кнопка з гарною тінню, яка при наведенні плавно розширюватиметься.


Висновок

У цій статті ми ознайомилися з усіма основними способами створення тіней. Ми розібрали всі властивості та параметри тіней.

Всі елементи, які були представлені на скріншотах, ви зможете знайти в папці з вихідними джерелами. Якщо хочете, можете самостійно вивчити їх та поекспериментувати зі значеннями. Можливо, у вас вийде набагато краще, ніж це зробили ми.

Ви можете додавати до елементів тінь і змінювати її зовнішній вигляд за допомогою CSS-властивості box-shadow. Цей стиль дозволяє втілити в життя цікаві ефекти, наприклад, об'ємність та тривимірність блоку. Властивість підтримується сучасними браузерами. Виняток становлять IE8 та Opera Mini.

Властивість box-shadow: синтаксис

Цей стиль записується так:

Box-shadow: inset 4px 4px 8px 5px #333333;

Розглянемо по порядку, за що відповідає кожен параметр (зліва направо):

  • Ключове слово inset: параметр, який необов'язково вказувати; малює тінь всерединіелемент.
  • Зсув по осі X: вказує ступінь усунення тіні по горизонталі щодо елемента. Позитивне значення означає зсув праворуч, негативне - ліворуч. Значення 0 означає, що тінь без зсуву.
  • Зсув по осі Y: вказує ступінь усунення тіні по вертикалі. Позитивне значення означає зсув донизу, негативне - вгору. Значення 0 – це тінь без зсуву.
  • Радіус розмиття: це ступінь розмиття тіні Чим більше значення, тим більша розмита тінь. Якщо параметр не вказано, використовується стандартне значення - 0 . У такому разі тінь буде ідеально чіткою.
  • Розширення: необов'язковий параметр, що відповідає за розтягнення тіні по обох осях; що більше значення, то більше вписувалося розтягування. Розширення працює лише за наявності попереднього параметра. Значення за промовчанням - 0 .
  • Колір тіні: з цим параметром все зрозуміло - він задає колір тіні елемента Колір за промовчанням - чорний.

Примітка.Браузерам Android і старішим версіям iPhone Safari потрібен префікс -webkit-для коректної роботи CSS властивості box-shadow.

Ця властивість може набувати кількох груп значень (робити кілька тіней одночасно). Для цього знадобиться перерахувати ці групи параметрів через кому. Наприклад:

Box-shadow: 15px 15px 20px #8b0163, inset 15px 15px 20px #630046;

Приклади box-shadow

Щоб ви краще зрозуміли всю силу та принадність властивості CSS box-shadow, ми покажемо кілька прикладів, які можна сміливо застосовувати на практиці. Ця властивість здатна сильно перетворити звичайний блок!

Легка тінь

Box-shadow: 0 2px 4px rgba(0, 0, 0, .25);

Ефект паперу

Box-shadow: 0 1px 4px rgba(0, 0, 0, .3), -23px 0 20px -23px rgba(0, 0, 0, .6), 23px 0 20px -23px rgba(0, 0, 0 .6), inset 0 0 40px rgba(0, 0, 0, .1);

Декілька шарів

Box-shadow: 6px 6px #ccc, 12px 12px #a3a3a3;

Потрійна рамка

Box-shadow: 0 0 0 7px rgb(118, 46, 177), 0 0 0 14px rgba(118, 46, 177, 0.6), 0 0 0 21px rgba(118, 46, 17)

Куточки

Box-shadow: -20px 20px 0 -17px #eee, 20px -20px 0 -17px #eee, 20px 20px 0 -20px #592385, 0 0 0 2px #592385;

Як бачите, властивість box-shadow надає величезне поле фантазії. Ви можете перетворювати блоки як завгодно – головне, мати почуття міри! 😉

У наступному розділі на вас чекає вивчення властивостей width і height, що визначають розміри елементів.

Додає тінь до елемента. Дозволяється використовувати кілька тіней, вказуючи їх параметри через кому, при накладенні тіней перша тінь у списку буде вищою, остання нижче. Якщо елемент задається радіус округлення через властивість border-radius , то тінь також вийде із закругленими куточками. Додавання тіні збільшує ширину елемента, тому можлива поява горизонтальної смуги прокручування у браузері.

коротка інформація

Синтаксис

Box-shadow: none |<тень> [,<тень>]*

де<тень>:

inset<сдвиг по x> <сдвиг по y> <размытие> <растяжение> <цвет>

Позначення

Описприклад
<тип> Вказує тип значення.<размер>
A && BЗначення мають виводитися у вказаному порядку.<размер> && <цвет>
A | BВказує, що треба вибрати лише одне значення із запропонованих (A або B).normal | small-caps
A || BКожне значення може використовуватись самостійно або спільно з іншими у довільному порядку.width || count
Групує значення.[crop || cross]
* Повторювати нуль чи більше разів.[,<время>]*
+ Повторювати один чи більше разів.<число>+
? Зазначений тип, слово чи група не є обов'язковим.inset?
(A, B)Повторювати щонайменше A, але з більше разів.<радиус>{1,4}
# Повторювати один або більше разів через кому.<время>#
×

Значення

none Скасує додавання тіні. inset Тінь виводиться всередині елемента.<сдвиг по x>Зміщення тіні по горизонталі щодо елемента. Позитивне значення цього параметра визначає зсув тіні вправо, негативне - вліво.<сдвиг по y>Усунення тіні по вертикалі щодо елемента. Позитивне значення задає зсув тіні вниз, негативне вгору.<размытие>Задає радіус розмиття тіні. Чим більше це значення, тим сильніше тінь згладжується, стає ширшим і світлішим. Якщо цей параметр не заданий, за замовчуванням встановлюється 0, тінь при цьому буде чіткою, а не розмитою.<растяжение>Позитивне значення розтягує тінь, негативне, навпаки, її стискає. Якщо цей параметр не заданий, за замовчуванням встановлюється 0, при цьому тінь буде такого самого розміру, як і елемент.<цвет>Колір тіні у будь-якому доступному CSS форматі, за промовчанням тінь чорна.

Дозволяється вказувати кілька тіней, розділяючи їх параметри між собою комою. Враховується наступний порядок: перша тінь у списку розміщується на самому верху, остання у списку – у самому низу.

приклад

box-shadow

У хащах півдня жив би цитрус? Так, але фальшивий екземпляр!

Результат прикладу показано на рис. 1.

Мал. 1. Вигляд тіні

Об'єктна модель

Об'єкт.style.boxShadow

Примітка

Safari до версії 5.1, Chrome до версії 10.0, Android до версії 4.0 підтримують властивість -webkit-box-shadow.

Firefox до версії 4.0 підтримує властивість -moz-box-shadow.

Internet Explorer до версії 9.0 не підтримує властивість box-shadow, натомість можна використовувати властивість filter:

Filter: progid:DXImageTransform.Microsoft.dropshadow(offX=5, offY=5, color=#000000);

Тут: offX - Зміщення тіні по горизонталі; offY - зміщення тіні по вертикалі; color - колір тіні.

Застосування фільтра dropshadow дає чітку різку тінь, тому для ефекту розмиття можна використовувати фільтр shadow .

Filter: progid:DXImageTransform.Microsoft.shadow(direction=120, color=#000000, strength=10);

Тут: direction - кут напряму тіні від 0 до 360 °; color - колір тіні; strength - Зміщення тіні в пікселях.

Специфікація

Кожна специфікація проходить кілька стадій схвалення.

  • Recommendation (Рекомендація) - специфікація схвалена W3C та рекомендована як стандарт.
  • Candidate Recommendation ( Можлива рекомендація) - група, відповідальна за стандарт, задоволена, як і відповідає своїм цілям, але потрібна допомога спільноти розробників з реалізації стандарту.
  • Proposed Recommendation ( Пропонована рекомендація) - на цьому етапі документ подано на розгляд Консультативної ради W3C для остаточного затвердження.
  • Working Draft (Робочий проект) - більш зріла версія чернетки після обговорення та внесення поправок для розгляду спільнотою.
  • Editor"s draft ( Редакторська чернетка) - Чорнова версія стандарту після внесення правок редакторами проекту.
  • Draft ( Чернетка специфікації) – перша чорнова версія стандарту.
×

З появою стандарту CSS 3введено властивість box-shadow , яке отримало широке застосування серед веб-розробників, оскільки воно дозволяє легко додати одну або кілька тіней до блоку елемента для надання бажаного візуального ефекту.

У попередній статті ми з Вами розглядали властивість border-radius, використовуючи його, ви можете отримати тінь з закругленими кутами. За аналогією з текстовою тінню (text-shadow), ви зможете створювати множинні тіні, вони наносяться по z-осіспереду назад (з першою заданою тінню зверху).

Давайте детально розглянемо синтаксис цієї сучасної властивості:


Розглянемо по порядку можливі значення цієї властивості:

ЗначенняОпис
noneТінь не відображається. Це значення за промовчанням.
insetНеобов'язкове значення.Якщо це значення не вказано (за замовчуванням), тінь буде зовні елемента і створить ефект опуклості елемента. При наявності ключового слова (значення) inset , тінь падає всередині елемента і створить ефект вдавленості. Інакше кажучи, це зміна від зовнішньої тіні до внутрішньої.
h-shadowОбов'язкове значення.Задає розташування горизонтальної тіні. Допускається використання негативних значень.
v-shadowОбов'язкове значення.Задає розташування вертикальної тіні. Допускається використання негативних значень.
blur-radiusНеобов'язкове значення.Задає радіус розмиття. Чим більше це значення, тим більше розмиття, при цьому тінь стає більшою і світлішою. Якщо значення не задано, то значення дорівнюватиме 0 (різкі - чіткі тіні). Негативні значення не допускаються.
spread-radiusНеобов'язкове значення.Розмір тіні (радіус розтягування тіні). При позитивних значеннях тінь розширюватиметься, а при негативних стискатиметься. Якщо значення не задано, то значення дорівнюватиме 0 (тінь відповідає розміру елемента).
colorНеобов'язкове значення.Визначає колір тіні (HEX, RGB, RGBA, HSL, HSLA, "Предвизначені кольори"). Значенням за промовчанням є чорний.

Основні моменти, які вам необхідно зрозуміти, щоб створювати тіні для елементів:

Хочу звернути Вашу увагу на те, що властивість box-shadow зараз підтримується всіма сучасними браузерами:

Властивість
Opera

IExplorer

Edge
box-shadow10.0
4.0
-webkit-
4.0
3.5
-moz-
10.5 5.1
3.1
-webkit-
9.0 12.0

Якщо Ви хочете розширити підтримку деяких браузерів, включаючи мобільні IOS 3.2 – 4.3і Android 2.1 - 3, то рекомендується використовувати префікси виробників та використовувати наступний синтаксис (у прикладах статті буде використаний синтаксис тільки для сучасних браузерів):

-webkit-box-shadow : значення; /* Safari 3.1 - 4, IOS 3.2 - 4.3 та Android 2.1 - 3 */-moz-box-shadow : значення; /* Firefox 3.5 - 3.6 */ box-shadow: значення; /* таблиця вище */

Перейдемо до практики і почнемо з простого прикладу, в якому додамо по одній тіні до елементів:

Приклад використання властивості box-shadow у CSS
box-shadow:10px 10px 0px red;
class = "test2" > box-shadow:10px 10px 10px #777;

Рееультат нашого прикладу:

Використання множинних тіней

У наступному прикладі пропоную розглянути цікавий ефект змішування кольорів, який можна отримати при використанні багатьох тіней:

Приклад використання множинних тіней у CSS (властивість box-shadow)
  • Дваблоку фіксованої ширини і висоти (15em і 10em), додали зовнішні відступи для всіх сторін (2em) і встановили, що блоки є блочно-рядковими для можливості побудувати їх у лінійку.
  • Для першогоблоку із класом .testми вказали чотиритіні з різними значеннями горизонтальної та вертикальної тіні для того, щоб різні тіні елемента були з усіх боків. Радіус розмиття всім тіней встановили один. Колір кожної тіні різний і заданий з використанням певних кольорів.
  • Для другогоблоку із класом .test2ми вказали чотиритіні з різними значеннями горизонтальної та вертикальної тіні. Радіус розмиття всім тіней встановили один, у своїй розтягнення тіні вказали негативним, що призвело до зменшення самої тіні. Колір кожної тіні різний і вказаний із використанням системи RGBA.

Рееультат нашого прикладу:

Використання тіней для зображень

Заключний приклад цієї статті буде присвячено використанню тіней для зображень. Відразу хочу звернути Вашу увагу на те, що безпосередньо вказати тінь для HTML елемента не вийде, але у нас є можливість вказати зображення як фон для елемента, що цікавить нас, і вже цьому елементу задати необхідну нам тінь.

Роботу з фоновими зображеннями ми докладно розглянемо в статті підручника " ", а зараз, щоб поставити крапку у вивченні використання тіней, поверхнево її торкнемося, і використовуємо зображення як тло до елемента в наступному прикладі:

Приклад використання тіней для зображень у CSS
  • Дваблоку фіксованої ширини та висоти (237px і 232px ), додали зовнішні відступи для всіх сторін (2em ) і встановили, що блоки є блочно-рядковими для можливості вибудувати їх у лінійку. Розмір блоку 237px на 232px ми встановили під розмір зображення, щоб на даному етапі навчання не доводилося масштабувати зображення під елемент і зачіпати властивості CSS, які плануються до вивчення на пізнішому етапі (у статті підручника " ").
  • Для першогоблоку із класом .testми вказали нульове значення горизонтальної та вертикальної тіні, але при цьому радіус розмиття ми вказали 50px і розширили її, задавши радіус розтягування 10px. Колір тіні вказали наперед визначеним кольором (violet). Крім того, ми вказали в оголошенні ключове слово inset , завдяки чому тінь падає всередину елемента. Тобто ми створили внутрішню тінь елемента.
  • Для другогоблоку із класом .test2ми вказали нульове значення горизонтальної та вертикальної тіні, але при цьому радіус розмиття ми вказали 50px і розширили її, задавши радіус розтягування 10px. Колір тіні вказано у режимі RGBA.

Рееультат нашого прикладу:

Мал. 98 Приклад використання тіней для зображень у CSS (властивість box-shadow)

Запитання та завдання на тему

Перед тим як перейти до вивчення наступної теми, пройдіть практичне завдання:


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


2016-2020 Денис Большаков, зауваження та пропозиції щодо роботи сайту Ви можете надіслати на адресу сайт@gmail.com

Важливо важливий порядок запису. Перше значення - завжди зміщення по осі X, друге - по осі Y.

Якщо по одній з осей усунення не потрібно, ставимо нуль:

Class(box-shadow: 0 8px;) – зміщуємо тінь тільки по осі Y

Результат

Class(box-shadow: 8px 8px;) – зміщуємо по обох осях

Результат

Негативне значення для осей box-shadow

Тінь зміститься у протилежному напрямку:

Class(box-shadow: -8px 8px;) – зміщуємо тінь негативним значенням по осі X

Результат

Радіус розмиття тіні

Третій параметр властивості box-shadow. Якщо його не вказати, приймається значення 0, а розмір тіні дорівнює розміру елемента, до якого застосовується.

Class(box-shadow: 0 48px 0;) – тінь дублює розміри елемента, до якого застосовується

Результат

При значенні більше за нуль, краї втрачають чіткість, тінь стає більше і візуально легше. Розмиття застосовується з усіх боків:

Class(box-shadow: 0 0 8px;) – без усунення, тільки розмиття

Результат

Class(box-shadow: 0 8px 8px;) – зміщення по осі Y та розмиття

Результат

Негативне значення вважається помилкою і тінь не відобразиться зовсім.

Радіус розтягування тіні

Четвертий параметр якості box-shadow. Змінює величину тіні щодо елемента. Розтягує на всі боки:

Class(box-shadow: 0 0 0 8px;) – без зміщення та розмиття, тільки розтягування

Результат

В даному випадку тінь більша за елемент на 16 пікселів за шириною і висотою: 8px зліва + 8px справа і 8px зверху + 8px знизу.

Негативне значення розтягування тіні в CSS

Тінь не розтягується, а звужується з усіх боків на вказане значення:

Class(box-shadow: 0 16px 0 -8px;) – зменшення тіні негативним значенням

Результат

Колір тіні

За промовчанням колір тіні дублює колір шрифту: як на прикладах вище.

Колір тіні вказується в будь-якому доступному форматі CSS:

  • #ff0009
  • rgb (255, 0, 9)
  • hsl (358, 100%, 50%);

Задамо елементу синю тінь:

Class(box-shadow: 0 8px #3a8fe7;)

Результат

Внутрішня тінь

Параметр insetвідображає тінь усередині блоку.

На відміну від наведених вище параметрів, немає жорсткого порядку написання. Обидва варіанти дадуть один результат:

Box-shadow: 0 8px #3a8fe7 inset; box-shadow: inset 0 8px #3a8fe7;

Результат

Другий варіант зручніше для сприйняття під час читання коду.

Декілька тіней

Декілька тіней задаються через кому. Порядок відображення зверху донизу:

Class( box-shadow: 0 8px #3a8fe7, 0 16px #3ae7af; )

Результат

Якщо поміняти місцями, блакитну тінь не видно:

Class( box-shadow: 0 16px #3ae7af, 0 8px #3a8fe7; )

Результат

Одночасно задані внутрішня та зовнішня тінь:

Class( box-shadow: 0 16px #3ae7af, inset 0 8px #3a8fe7; )

Результат

Тінь із закругленими кутами

Якщо елементу задати властивість border-radius, тінь буде із закругленими кутами.

Class( box-shadow: 0 16px #3a8fe7; border-radius: 8px; )

Результат

Задаючи розтягнення тіні, ми збільшуємо її заокруглення. Наприклад, border-radius 8px, а розтягнення тіні - 4.

8+4=12px – це радіус заокруглення тіні.

Class( box-shadow: 0 16px 0 4px #3a8fe7; border-radius: 8px; )

Результат

Той самий принцип поширюється і стиснення тіні, коли значення негативне.

8+(-4)=4px — отримаємо заокруглення тіні вдвічі менше.

Якщо стиснення тіні більше, ніж border-radius, отримаємо тінь із прямими кутами. Наприклад, стиснення 16px.

8+(-16)=(-8), але в заокруглення не може бути негативного значення і застосовується нуль.

Class( box-shadow: 0 24px 0 -16px #3a8fe7; border-radius: 8px; )

Результат

CSS властивість box-shadowпідтримується всіма популярними браузерами, окрім Opera Mini.