CSS – Блог Stafox'a https://stafox.cc О программировании и веб-разработке Fri, 22 Jul 2016 14:00:24 +0000 en-US hourly 1 https://wordpress.org/?v=5.8.2 Less кэширует импортируемые файлы https://stafox.cc/less-caches-imported-files/ https://stafox.cc/less-caches-imported-files/#respond Sat, 11 Apr 2015 17:08:39 +0000 http://stafox.ru/?p=2457 Столкнулся с проблемой кэширования при использовании less. Речь идет об использовании less.js для компиляции на лету. Конкретно проблема состоит в том, что файлы, которые подключаются через @import кэшируются особенным образом – очистка кэша (или отключение кэширования в браузере) никак не решает проблему. Как оказалось, хранится все это в window.localStorage. В LESS уже вприцнипе все предусмотрели,

Сообщение Less кэширует импортируемые файлы появились сначала на Блог Stafox'a.

]]>
less-cache-import
Столкнулся с проблемой кэширования при использовании less. Речь идет об использовании less.js для компиляции на лету.

Конкретно проблема состоит в том, что файлы, которые подключаются через @import кэшируются особенным образом – очистка кэша (или отключение кэширования в браузере) никак не решает проблему.
Как оказалось, хранится все это в window.localStorage. В LESS уже вприцнипе все предусмотрели, и для того чтобы отключить кэширование достаточно установить окружение как development, а делается это следующим образом:

[js] var less=less||{}; less.env=’development’;
[/js]

Хочу отметить, что этот код должен располагаться до подключения less.js

Сообщение Less кэширует импортируемые файлы появились сначала на Блог Stafox'a.

]]>
https://stafox.cc/less-caches-imported-files/feed/ 0
Рейтинг на CSS https://stafox.cc/raiting-na-css/ https://stafox.cc/raiting-na-css/#respond Fri, 10 Aug 2012 19:46:36 +0000 http://stafox.ru/?p=1626 Не так давно пришлось заняться реализацией возможности оставлять отзывы с выставлением оценки. Своего рода рейтинг. Расскажу как это можно сделать легко, красиво, функционально. Что нам потребуется? Две картинки (пустая звезда и заполненная) и немного CSS. А теперь, расскажу немного о функциональности. Данный пример позволяет реализовать не только 5 бальную систему оценок, но и 7, 10,

Сообщение Рейтинг на CSS появились сначала на Блог Stafox'a.

]]>

Не так давно пришлось заняться реализацией возможности оставлять отзывы с выставлением оценки. Своего рода рейтинг. Расскажу как это можно сделать легко, красиво, функционально.

Что нам потребуется? Две картинки (пустая звезда и заполненная) и немного CSS. А теперь, расскажу немного о функциональности. Данный пример позволяет реализовать не только 5 бальную систему оценок, но и 7, 10, 20, и даже 100. Данный пример удобно использовать с каким нибудь динамическим языком программирования, например PHP. Для начала нам понадобится html-страничка со следующим кодом.

[html] <!DOCTYPE html>
<html>
<head>
<title>RateThis</title>
</head>
<body>
<div class="testimonial-rating">
<div class="testimonial-rating-stars">
<div class="testimonial-realrating" style="width:85%;"></div>
</div>
<div class="testimonial-numerical-rating">4.25 / 5</div>
</div>
</body>
</html>
[/html]

Структура есть. Перейдем к стилям.

[css] .testimonial-rating {
width:200px;
height:24px;
line-height: 24px;
}
.testimonial-rating-stars {
background:url("img/star_empty.png") repeat-x;
width:120px; /* Ширина звезды * желаемое число звезд */
height:24px; /* Высота звезды */
float:left;
}
.testimonial-realrating {
background:url("img/star.png") repeat-x;
height:24px; /* Высота звезды */
}
.testimonial-numerical-rating {
width:70px;
padding-left:10px;
float:right;
font-size: 14px;
text-align: left;
}
[/css]

О том как подключить css-стили Вы можете прочитать во второй лекции “CSS с нуля”.  Вот в принципе и все. Любезно предоставляю Вам исходники и демо.

Сообщение Рейтинг на CSS появились сначала на Блог Stafox'a.

]]>
https://stafox.cc/raiting-na-css/feed/ 0
CSS с нуля. Лекция 2 https://stafox.cc/css-s-nulya-lektsiya-2/ https://stafox.cc/css-s-nulya-lektsiya-2/#comments Fri, 27 Jul 2012 13:18:33 +0000 http://stafox.ru/?p=1583 Во второй лекции мы немного глубже копнем CSS и познакомимся. Рассмотрим способы добавления стилей на страницу. Способы добавления стилей Исходя из подзаголовка, Вы наверняка догадались, что количество таких способов больше чем один 🙂 Рассмотрим первый, он же, самый популярный. Добавление стилей на сайт производится указанием местоположения файла стилей c помощью тега <link>. [html]<link rel="stylesheet" href="css/style.css"

Сообщение CSS с нуля. Лекция 2 появились сначала на Блог Stafox'a.

]]>

Во второй лекции мы немного глубже копнем CSS и познакомимся. Рассмотрим способы добавления стилей на страницу.

Способы добавления стилей

Исходя из подзаголовка, Вы наверняка догадались, что количество таких способов больше чем один 🙂 Рассмотрим первый, он же, самый популярный.
Добавление стилей на сайт производится указанием местоположения файла стилей c помощью тега <link>.

[html]<link rel="stylesheet" href="css/style.css" />[/html]

Вы заметили, что в примере был указан относительный путь? Также можно  подключить стили со стороннего сайта, указав прямой путь к файлу стилей:

[html] <link rel="stylesheet" href="http://example.stafox.ru/style/default.css" />
[/html]

И не забывайте, что тег <link> должен располагаться между <head> и </head>
Стили, подключенные таким способом, получили название связанные.

Второй способ, не очень популярен, и я его использую крайне редко.

[html] …
<head>
<style>
p {
color: #333;
background:#ddd;
}
</style>
</head>

[/html]

Стили объявляются в  html-документе, главное не забыть “обвернуть” их в тег <style>.

Третий способ, применяется очень часто, особенно, когда лень-матушка одолевает 🙂 Он позволяет применить стиль к любому элементу:

[html] <p style="color:#369;font-style:italic;">CSS с нуля – это просто!</p>
[/html]

Как Вы уже заметили, для этого применяется универсальный атрибут style, значением которого и является желаемый набор css-свойств, разделенных точкой с запятой.

Ну, и остается последний, четвертый способ. Он позволяет подключать стили в стилях. Я бы рекомендовал использовать этот способ, именно так как в примере. Предположим что у нас есть некий style.css, который содержит в себе следующие строки:

[css title=”style.css”] @import ("css/header.css");
@import ("css/body.css");
@import ("css/footer.css");
@import ("css/comments.css");
@import ("css/article.css");
@import ("css/sidebar.css");
@import ("css/menu.css");
@import ("css/admin.css");
[/css]

И так, Вы уже наверняка догадались, что с помощью @import можно импортировать (подключать) различные css файлы. А теперь для чего я советую именно так использовать этот способ? Когда Вы будете писать БОЛЬШОЙ и жирный проект, стилей будет очень много, и файл будет содержать огромную кучу строк. Чтобы не тратить время на поиск, когда придётся что-то “допилить”, советую разбивать на несколько небольших файлов. Теперь, если Вам нужно будет изменить цвет сайдбара, Вы сразу увидите что Вам стоит заглянуть в файл sidebar.css, в котором будет гораздо меньше строк, а значит Вам будет легче в нем ориентироваться. Ну, а чтобы подключить сам файл style.css, Вы можете воспользоваться первым способом.

Сообщение CSS с нуля. Лекция 2 появились сначала на Блог Stafox'a.

]]>
https://stafox.cc/css-s-nulya-lektsiya-2/feed/ 10
CSS с нуля. Лекция 1 https://stafox.cc/css-s-nulya-lekciya-1/ https://stafox.cc/css-s-nulya-lekciya-1/#comments Mon, 25 Jun 2012 22:35:25 +0000 http://stafox.ru/?p=1570 Приветствую всех, кому еще интересны эти статьи, и вообще этот блог в целом:) Так получилось, что я очень долго не писал. Оправдываться сейчас не буду, для этого я чуть позже выделю отдельную статью. А сейчас по многочисленным просьбам “CSS с нуля: первая лекция”.Давайте для начала расскажу, что предстоит Вам узнать из этой лекции: “что такое

Сообщение CSS с нуля. Лекция 1 появились сначала на Блог Stafox'a.

]]>

Приветствую всех, кому еще интересны эти статьи, и вообще этот блог в целом:) Так получилось, что я очень долго не писал. Оправдываться сейчас не буду, для этого я чуть позже выделю отдельную статью. А сейчас по многочисленным просьбам “CSS с нуля: первая лекция”.Давайте для начала расскажу, что предстоит Вам узнать из этой лекции: “что такое CSS?”, “для чего он нужен?”, “как его использовать?”.

Что такое CSS?

CSS – это язык стилей, отвечающий за отображение элементов, причем не только в html-документе (например, CSS используется при определении свойств элементов в Qt). Помните лекции “HTML с нуля”? Так вот, если Вы выучите CSS на должном уровне, у Вас полностью пропадет надобность в использовании дополнительных атрибутов для элементов. Кстати, раз уж Вы решили учить CSS, неплохо бы знать, что это аббревиатура, и расшифровывается она как Cascading Style Sheets. CSS является неотъемлемой частью блочной верстки, о которой я упоминал в последней лекции HTML с нуля.

Для чего служит CSS?

Служит CSS для придания индивидуальности странице, ну, или если говорить глобально, то сайту. CSS помогает оптимизировать структуру сайта, уменьшить вес страниц, а также облегчит изменение внешнего вида сайта (все доводы и факты этого приведу в следующей лекции).

Как использовать CSS?

В топе странные запросы: “Как установить CSS?”, “Как создать CSS?”, расслабьтесь, CSS создали и без нас, а устанавливать ничего не придется 🙂 Все проще чем может показаться. Берем простую HTML страницу:

[html] <!DOCTYPE html>
<html>
<head>
<title>Страница с CSS</title>
<style>
* {
background:#333;
color:#fff;
}
</style>
</head>
<body>
Simple Text
</body>
</html>
[/html]

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

Я думаю это неплохое легкое начало, которое не в коем случае не отпугнет Вас от изучения CSS. На этом все, подписываемся на RSS ленту, чтобы не пропустить следующую лекцию, надоедаем в комментариях, чтобы ускорить процесс 🙂

Сообщение CSS с нуля. Лекция 1 появились сначала на Блог Stafox'a.

]]>
https://stafox.cc/css-s-nulya-lekciya-1/feed/ 24
Необыкновенное выделение ссылок с помощью CSS3 https://stafox.cc/neobyknovennoe-vydelenie-ssylok-s-pomoshhyu-css3/ https://stafox.cc/neobyknovennoe-vydelenie-ssylok-s-pomoshhyu-css3/#comments Sun, 30 Oct 2011 10:27:38 +0000 http://stafox.ru/?p=1221 Сегодня я хочу рассказать о необычном способе выделения ссылок, который я уже использую в своём новом шаблоне. Такое выделение смотрится довольно красиво и подвижно, и реализовывается при помощи CSS. Разъясню подробнее, какие свойства и псевдоселекторы используются для этого. Для начала нам нужно определить стили для ссылок на странице: [css] a { display:inline-block; color:#555; -webkit-transition-duration: 0.25s;

Сообщение Необыкновенное выделение ссылок с помощью CSS3 появились сначала на Блог Stafox'a.

]]>

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

Такое выделение смотрится довольно красиво и подвижно, и реализовывается при помощи CSS.

Разъясню подробнее, какие свойства и псевдоселекторы используются для этого. Для начала нам нужно определить стили для ссылок на странице:

[css] a {
display:inline-block;
color:#555;
-webkit-transition-duration: 0.25s;
-moz-transition-duration: 0.25s;
-o-transition-duration: 0.25s;
-ms-transition-duration: 0.25s;
transition-duration: 0.25s;
-webkit-transition-property: -webkit-transform;
-moz-transition-property: -moz-transform;
-o-transition-property: -o-transform;
-ms-transition-property: -ms-transform;
transition-property: transform;
-webkit-transform: scale(1) rotate(0);
-moz-transform: scale(1) rotate(0);
-o-transform: scale(1) rotate(0);
-ms-transform: scale(1) rotate(0);
transform: scale(1) rotate(0);
}
[/css]

Вы заметили похожие свойства? Да, они похожи, но приставка перед ними (-o-, -moz-, -webkit-, -ms-) указывает на браузер, для которого будет использовано это свойство. Дело в том, что некоторые браузеры не поддерживают новые свойства css3 (я говорю о старых браузерах), поэтому с помощью этих приставок работу этих свойств можно проверить в экспериментальном режиме. Так мы сможем добиться максимальной кроссбразерности.

transition-duration: 0.25s; Эта строка задаёт задёржку преобразования равной 0.25 секунды.
transition-property: transform; Задаём тип преобразования – трансформация.
transform: scale(1) rotate(0); Указываем параметры трансформации. Scale(1) – относительное растяжение, 1 указывает на то, что растяжения не будет. Rotate(0) – поворот. 0 указывает на то, что поворот осуществляется на 0 градусов (т.е. не осуществляется).
Теперь рассмотрим стили при наведении на ссылку, за которые отвечает псевдоселектор :hover
[css] a:hover {
color:#333;
text-shadow:0 1px 0 #0f9fff;
display:inline-block;
background:#006fdd;
padding:2px 5px 2px 5px;
-webkit-border-radius:4px;
-moz-border-radius:4px;
-o-border-radius:4px;
-ms-border-radius:4px;
border-radius: 4px;
-webkit-transform: scale(1.05) rotate(-1deg);
-moz-transform: scale(1.05) rotate(-1deg);
-o-transform: scale(1.05) rotate(-1deg);
-ms-transform:scale(1.05) rotate(-1deg);
transform: scale(1.05) rotate(-1deg);
}
[/css]

Свойство border-radius также воспринимается лишь новыми браузерами, поэтому и к нему припишем приставок. Оно отвечает за радиус скругления.
Свойство background задает цвет фона.
Свойство display указывает тип отображения.
Свойство padding отвечает за отступы (сверху, справа, снизу, слева).
Теперь свойство transform принимает значения: scale(1.05) – растянуться в 1.05 раза и rotate(-1deg) – повернуться на -1 градус.

А теперь то, что придаст необыкновенности, псевдоселектор :nth-child(2n), который используется для добавления стиля к элементам на основе нумерации в дереве элементов.

[css] a:nth-child(2n):hover {
background:#ffb111;
text-shadow:0 1px 0 #FFDF7D;
-webkit-transform: scale(1.05) rotate(1deg);
-moz-transform: scale(1.05) rotate(1deg);
-o-transform: scale(1.05) rotate(1deg);
-ms-transform:scale(1.05) rotate(1deg);
transform: scale(1.05) rotate(1deg);
}
[/css]

Значения

odd – Все нечетные номера элементов.
even – Все четные номера элементов.
число – Порядковый номер дочернего элемента относительно своего родителя. Нумерация начинается с 1, это будет первый элемент в списке.
выражение – Задается в виде an+b, где a и b целые числа, а n — счетчик, который автоматически принимает значение 0, 1, 2

Если a равно нулю, то оно не пишется и запись сокращается до b. Если b равно нулю, то оно также не указывается и выражение записывается в форме an. a и b могут быть отрицательными числами, в этом случае знак плюс меняется на минус, например: 5n-1.

За счет использования отрицательных значений a и b некоторые результаты могут также получиться отрицательными или равными нулю. Однако на элементы оказывают влияние только положительные значения из-за того, что нумерация элементов начинается с 1.

htmlbook.ru

Вот впринципе и всё. Как вы видите, в нашем случае при наведении на четный элемент, будет меняться цвет фона ссылки, а также поворот будет осуществляться в другую сторону.

Посмотреть пример вы можете здесь.

Сообщение Необыкновенное выделение ссылок с помощью CSS3 появились сначала на Блог Stafox'a.

]]>
https://stafox.cc/neobyknovennoe-vydelenie-ssylok-s-pomoshhyu-css3/feed/ 13
Тени в CSS https://stafox.cc/teni-v-css/ https://stafox.cc/teni-v-css/#comments Tue, 19 Apr 2011 19:50:08 +0000 http://stafox.ru/?p=865 В прошлой статье я упоминал, о том, что эффекта letterpress можно добиться с помощью CSS. Так вот, я подумал, и решил, что следует остановиться на этом моменте и рассказать о нём побольше. Свойство text-shadow появилось ещё в далёком 1998 году в спецификациях к CSS2, однако совсем недавно данное свойство получило полноценную поддрежку. Как известно, в

Сообщение Тени в CSS появились сначала на Блог Stafox'a.

]]>
Тени в CSS
В прошлой статье я упоминал, о том, что эффекта letterpress можно добиться с помощью CSS. Так вот, я подумал, и решил, что следует остановиться на этом моменте и рассказать о нём побольше. Свойство text-shadow появилось ещё в далёком 1998 году в спецификациях к CSS2, однако совсем недавно данное свойство получило полноценную поддрежку. Как известно, в каждом правиле есть исключения, так вот IE является исключением (даже IE9, который вышел в 2011 году, до сих пор не воспринимает text-shadow). Так вот, в связи с тем, что большинство браузеров на те времена игнорировали text-shadow, данное свойство было исключено из CSS2.1 и вернулось к нам, только в CSS3.

[css] text-shadow: #000 1px 0px 3px;
[/css]

где #000 – цвет тени, 1px – смещение тени по оси X, 0px – смещение тени по оси Y, 3px – радиус размытия тени.

Ниже приведу код с описанием теней трёх видов:

[css] <!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Тени в CSS</title>
<style type="text/css">
body {
background-color:#666; /* Цвет фона*/
font-family:Tahoma; /* Шрифт*/
font-size: 2.5em; /* Размер текста */
}
.shadow1 {
text-shadow: #000 1px 1px 3px; /* Параметры тени */
color: #ccc; /* Цвет текста */
}
.shadow2 {
text-shadow: #999 0 1px 0, #000 0 -1px 0; /* Параметры тени */
color: #333; /* Цвет текста */
}
.shadow3 {
text-shadow: #222 0 0 7px; /* Параметры тени */
color: #666; /* Цвет текста */
}
</style>
</head>
<body>
<p class="shadow1">Вид тени №1</p>
<p class="shadow2">Вид тени №2</p>
<p class="shadow3">Вид тени №3</p>
</body>
</html>
[/css]

Демо

Если внимательно присмотреться к тени №2 то можно заметить, что в ней присутствует 2 тени.

Оказывается что теней может быть несколько. Например, Opera поддерживает максимум 6–9  теней. Повышение этого значения, а также увеличение радиуса размытия свыше 100px сказывается на работе браузера. Opera версии 9.5+ использует отображение нескольких теней, как в CSS 2.
Safari до версии 3.2 включительно поддерживает только один параметр тени, остальные игнорируются.  Множество теней поддреживается начиная с версии 4.0

Однако до сих пор IE используют 12-15% пользователей. О них тоже нужно помнить, поэтому, чтобы придать тень тексту для IE используют фильтр:

[css] filter: glow(color=#0000ff,strength=3);
[/css]

Однако хочу сразу предупредить, что смотрится это ужасно.

Второй вид тени в CSS – это box-shadow. Это свойство доступно в CSS3. Сегодня оно поддерживается  браузерами IE9, Opera 10.5+, Firefox 4.0, исключения Safari и Chrome.

[css] box-shadow: inset 1px 0 5px #000;
[/css]

inset – Необязательный параметр. Позволяет выводить тень внутри элемента.
1px – Обязательный параметр. Сдвиг по оси X. Смещение тени по горизонтали относительно элемента. Положительное значение этого параметра задает сдвиг тени вправо, отрицательное — влево.
0 – Обязательный параметр. Сдвиг по оси Y. Смещение тени по вертикали относительно элемента. Положительное значение задает сдвиг тени вниз, отрицательное — вверх.
5px – Необязательный параметр. Размытие. Задает радиус размытия тени. Чем больше это значение, тем сильнее тень сглаживается, становится шире и светлее. Если этот параметр не задан, по умолчанию устанавливается равным 0, тень при этом будет четкой, а не размытой.
#000 – Необязательный параметр. Цвет. Цвет тени в любом доступном CSS формате, по умолчанию тень черная.

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

Для того, чтобы установить тень в Firefox до версии 4.0, нужно использовать свойство -moz-box-shadow, В Safari и Chrome – -webkit-box-shadow.
Для Internet Explorer до версии 9.0 можно использовать фильтр:

[css] filter: progid:DXImageTransform.Microsoft.dropshadow(offX=5, offY=5, color=#000000);
[/css]

где offX — смещение тени по горизонтали; offY — смещение тени по вертикали; color — цвет тени.

Применение фильтра dropshadow дает четкую резкую тень, поэтому для эффекта размытия можно использовать фильтр shadow.

[css] filter: progid:DXImageTransform.Microsoft.shadow(direction=120, color=#000000, strength=10);
[/css]

где direction — угол направления тени от 0 до 360°; color — цвет тени; strength — смещение тени в пикселах.

Вот как выглядит div, после наложения box-shadow:

[css] <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Тень box-shadow</title>
<style type="text/css">

body {
background-color:#666; /* Цвет фона*/
font-family:Tahoma; /* Шрифт*/
font-size: 2.5em; /* Размер текста */
}
.shadow {
box-shadow: 0 0 5px black; /* Параметры тени */
box-shadow: 0 0 10px rgba(0,0,0,0.5); /* Параметры тени */
-moz-box-shadow: 0 0 10px rgba(0,0,0,0.5); /* Для Firefox */
-webkit-box-shadow: 0 0 10px rgba(0,0,0,0.5); /* Для Safari и Chrome */
padding: 10px;
}
</style>
</head>
<body>
<div class="shadow">Тень есть и будет!</div>
</body>
</html>
[/css]

Демо
Применить эффект тени можно даже к ссылке матрасы Intex.

Сообщение Тени в CSS появились сначала на Блог Stafox'a.

]]>
https://stafox.cc/teni-v-css/feed/ 2