CSS хаки и полезности
Способы подключения разных стилей для разных разрешений экрана, тень, скругления, масштабирование фона с помощью css3.
Border-radius:
.block
{
-moz-border-radius: 10px; /* Firefox */
-webkit-border-radius: 10px; /* Safari, Chrome */
-khtml-border-radius: 10px; /* KHTML */
border-radius: 10px; /* CSS3 */
}
Box-shadow:
.block
{
-moz-box-shadow: 5px 5px 20px rgba(0,0,0,0.2); /* Для Firefox */
-webkit-box-shadow: 5px 5px 20px rgba(0,0,0,0.2); /* Для Safari и Chrome */
-khtml-box-shadow: 5px 5px 20px rgba(0,0,0,0.2); /* KHTML */
box-shadow: 5px 5px 20px rgba(0,0,0,0.2); /* CSS3 */
}
Box-shadow для ИЕ:
<!--[if IE]>
<style type="text/css">
.block {
filter:
progid:DXImageTransform.Microsoft.Shadow(color='#000000', Direction=45, Strength=2)
progid:DXImageTransform.Microsoft.Shadow(color='#000000', Direction=135, Strength=2)
progid:DXImageTransform.Microsoft.Shadow(color='#000000', Direction=225, Strength=2)
progid:DXImageTransform.Microsoft.Shadow(color='#000000', Direction=315, Strength=2);
position: relative;
zoom: 1;
}
</style>
<![endif]-->
CSS3: Как растянуть фон на всю ширину окна
-moz-background-size: 100%; /* Firefox 3.6+ */ -webkit-background-size: 100%; /* Safari 3.1+ и Chrome 4.0+ */ -o-background-size: 100%; /* Opera 9.6+ */ background-size: 100%; /* Современные браузеры */
Этот вариант масштабирует по ширине, что не совсем годится при широком фоновом изображении для мобильных устройств.
В такой ситуации можно использовать значение cover
Cover масштабирует изображение с сохранением пропорций так, чтобы его ширина или высота равнялась ширине или высоте блока.
background-size: cover; /* масштабируем с сохранением пропорций */
Подключение разных таблиц стилей под разные разрешения экрана:
<link rel="stylesheet" media="(min-width:1980px)" href="style1980.css"> <link rel="stylesheet" media="(max-width:1979px)" href="style.css">
Запрет выделения текста средствами css.
Работает в Firefox, Chrome/Safari, IE10+
.element {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
}
