Какое свойство css делает сайт красивее

Какое свойство css делает сайт красивее thumbnail

Основные css-свойства – что нужно знать при работе с css

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

Что нужно знать для начала

Многие ошибочно называют свойства в css тегами. Так вот, это не совсем правильно. Теги – это команды html языка, и только его одного – все они пишутся в угловых скобках. В css же никаких тегов не нужно. Рассмотрим например, типичные правила для оформления веб-страницы, прописанные в таблице стилей:

body{

background: #fff;

color: #ccc;

}

Это типичный синтаксис этого языка. Тут все очень просто – вначале пишется селектор (body или любой другой), потом открываются фигурные скобки, в которые и записывают все необходимые свойства и их значения.

Какое свойство css делает сайт красивее

Практический курс по верстке адаптивного сайта с нуля!

Изучите курс и узнайте, как верстать современные сайты на HTML5 и CSS3

Узнать подробнее

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

Стили для текстового содержимого

Текст – всему голова на веб-странице. Для его оформления есть множество свойств. О них подробно написано в других статьях: Размер шрифта в html, Как задать цвет шрифта в html, Как задать шрифт в html.

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

Например, в css есть возможность определить расстояние между буквами и между отдельными словами. Это делается с помощью letter-spacing и word-spacing соответственно.

Отображение на экране

По умолчанию элементы делятся на строчные и блочные и разница в них только в том, что блочные не могут стоять в одной строке друг с другом. Зато строчным нельзя задать размер, он зависит от того, сколько в них содержимого.

Итак, иногда такое поведение нужно изменить и для этого используется display и множество его значений, но я расскажу лишь о самых основных:

Block – элемент становится блочным (то есть приобретает блочные особенности, даже если он был строчным. С этих пор ему можно записывать размеры, нормально определять внешние отступы и т.д.)

Inline- преобразование в строчный элемент.

Inline-block – блочно-строчный тип. Это такое поведение, при котором элемент сохраняет свои блочные свойства, но при этом может стать в одну строку с другими блоками, если им тоже прописано inline-block и им хватает места по ширине. Стоит помнить, что по умолчанию блок занимает в родителе все свободное место по ширине, потому нужно вручную определить ширину для него (абсолютную или относительную).

Какое свойство css делает сайт красивее

Table — преобразование элемента в таблицу (соответственно, есть также значения table-row и table-cell)

None – элемент исчезает со страницы и не оставляет никаких следов, как будто бы его на ней и не было.

Опять же, это не все значения, только самые основные.

Свойства размера

Блоки играют основную роль в создании сайта. Им нужно прописывать определенные размеры, это указывается с помощью таких свойств:

Какое свойство css делает сайт красивее

Практический курс по верстке адаптивного сайта с нуля!

Изучите курс и узнайте, как верстать современные сайты на HTML5 и CSS3

Узнать подробнее

Width – ширина

Height – высота

Max-width, min-width – максимальная или минимальная ширина. Например, если указать блоку max-width, то эта ширина не будет жесткой, она сможет меняться в зависимости от размеров окна. Если же указать и min-width, то тогда блок не сможет стать уже, чем указанный размер. Такое же можно прописать и для высоты, но это делают гораздо реже.

Также на размеры блочных элементов могут повлиять дополнительные параметры. Например, внутренние отступы. Они задаются с помощью слова padding и значения в пикселях (но можно и в другой величине). Если нужно задать отступ только для одной стороны, можно указать это, дописав к padding- через дефис нужную сторону (left, right и т.д.)

Например, если мы определили ширину контейнера в 600 пикселей, а потом добавили внутренние отступы по бокам в 20 пикселей, то реальная новая ширина составит 640px. Если вы не хотите, чтобы размеры добавлялись, можно воспользоваться таким приемом:

*{

box-sizing: border-box;

}

В итоге теперь, когда вы будете определять ширину через width, в нее автоматически будут включаться внутренние отступы и рамка. Рамку задают с помощью параметра border. Ее тоже можно определить как для всех сторон, так и для каждой отдельно. Синтаксис таков: border: ширина стиль цвет;

Соответственно, записав так:

div{border: 3px solid blue;}

К блокам добавляется синяя рамка со всех сторон толщиной 3 пикселя с каждой. Суммарно ширина увеличивается на 6 пикселей, а если вы не хотите этого, нужно использовать то самое box-sizing.

Цвет и фон

Это основные параметры, которые отвечают за восприятие нами информации. В значении в этим свойствам записывается одно и то же – цвет, который можно определить с помощью ключевых слов, в шестнадцатеричном коде или каком-то цветовом формате (чаще всего rgb). Единственное отличие – цвет определяется с помощью свойства color, а фон – с помощью background.

Читайте также:  Какое свойство линз позволяет широко использовать их в оптических

CSS стили внутри тега – так тоже можно

Правильно будет создавать отдельный файл формата css и в нем писать все необходимые стили, но также существует возможность встроить все стили в html, в один тег. Этот тег – style. Он парный, писать его нужно обязательно в пределах тега head. Используется так:

<style>

p{

font-size: 14px;

}

… другие стили

</style>

Какое свойство css делает сайт красивее

Синтаксис при написании свойств в этом теге идентичен тому, если бы мы записывали все это в отдельной таблице стилей.

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

Какое свойство css делает сайт красивее

Практический курс по верстке адаптивного сайта с нуля!

Изучите курс и узнайте, как верстать современные сайты на HTML5 и CSS3

Узнать подробнее

Какое свойство css делает сайт красивее

PSD to HTML

Верстка сайта на HTML5 и CSS3 с нуля

Смотреть

Источник

Неожиданные CSS свойства, которые можно использовать уже сейчас

От автора: во время работы над проектом Juju GUI, просматривая пул запросов, я обнаружил, что css свойство box-sizing написано без вендорных префиксов. И я подумал, что следует проверить, а нужны ли они перед тем, как обращаться в пул для их добавления. В поисках я был приятно удивлен, что существует гораздо больше свойств с полной поддержкой, чем я думал. Я проштудировал сайт Can I use и открыл для себя пару очень интересных вещей.

filter: sepia(1); — поддержка в браузерах 78%

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

Я был шокирован, когда узнал, что сегодня фильтры поддерживаются 78% браузеров, а точнее всеми кроме Edge, IE и Opera Mini. Т.е. можно было бы написать следующее:

img {

  transition: -webkit-filter .5s;

  -webkit-filter: blur(0);

}

.overlay-active img {

  -webkit-filter: blur(1);

}

Какое свойство css делает сайт красивее

Практический курс по верстке адаптивного сайта с нуля!

Изучите курс и узнайте, как верстать современные сайты на HTML5 и CSS3

Узнать подробнее

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

CSS3 селекторы – поддержка в браузерах 97.73%

CSS3 селекторы ознаменовали новую эру возможностей в CSS и дали целую кучу новых методов. Самые интересные селекторы приведены ниже. [foo^=»bar»], символ ^ это регулярное выражение, которое означает, что будут выбираться атрибуты, начинающиеся на «bar». Простой пример использования:

a[href^=»http»] {

   background: url(external-icon.svg) no-repeat;

   padding-left: 10px;

}

Мы выбираем все ссылки на сторонние сайты и автоматически добавляем к ним небольшую иконку. [foo$=»bar»], похожее регулярное выражение, только в этом случае рассматривается конец строки.

a[href$=».pdf»]:after {

  content: «(PDF)»;

}

В примере выбираются ссылки на PDF файлы и вставляется подпись «PDF», чтобы пользователь понимал, куда ведет эта ссылка. :nth-child() выбирает элементы по их появлению в последовательности. К примеру:

li:nth-child(n2) {

  background-color: light-grey;

}

Будут выбраны каждый второй элемент, к которым применится светло-серый фон. Можно использовать и odd, но я хотел показать пример с использованием именно nth. :empty выбирает любой пустой элемент, который не содержит в себе ничего, даже HTML комментариев. Подходит:

Не подходит:

Псевдокласс :empty может быть полезен при скрытии пустых элементов с паддингом, которые могут сдвинуть контент. Также прячется рамка пустых элементов списка. :not() – селектор отрицания. Элемент выбирается по параметрам. Если условие равно false, то стили применяются.

.menu:not(.is-hidden) {

  // стили

}

foo ~ bar – комбинатор. Работает по принципу foo + bar, но менее строгий. В методе с + будет выбран только первый bar после foo. А в методе с ~ будут выбраны все bar после foo.

h2 ~ p {

  margin-top: 1em;

}

Вы, скорее всего, были под сильным впечатлением, как и я, что эти селекторы плохо поддерживались. Возможно, вы думали, что для их использования потребуется напрячься немного больше обычного и воспользоваться полифилами или техникой прогрессивного улучшения. Однако я был удивлен, когда узнал, что CSS3 селекторы на 97%73% поддерживаются во всех браузерах, даже в IE8 и выше.

Calc() – поддержка в браузерах 80.75%

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

Читайте также:  Какими свойствами обладает можжевельник

Все мы помним, вы добавляете фоновую иконку и размещаете ее right center. Непыльная работа. Вы показываете готовый дизайн, а заказчик просит вас сдвинуть иконку на 10px вправо от элемента. Иконка идет фоном, и не хочется создавать ради нее отдельный элемент. И вы ставите фон на 90% center. На разных разрешениях данный подход не работает, но тут нам поможет calc!

Какое свойство css делает сайт красивее

Практический курс по верстке адаптивного сайта с нуля!

Изучите курс и узнайте, как верстать современные сайты на HTML5 и CSS3

Узнать подробнее

.search-field {

  background-position: calc(100% — 10px) center;

  …

}

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

.sidebar {

  height: calc(100% — 50px)

}

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

CSS анимация – поддержка в браузерах 90.29%

После смерти Flash мы искали, чем заменять Flash анимацию. К нашему счастью CSS анимация появилась довольно быстро. Мне было интересно, но я все же не решался использовать все эти новые функции без подходящего фолбэка. На данный момент CSS анимация может похвастаться поддержкой в 90.29% с префиксом «-webkit-». Можно смело повышать юзабилити ваших UI компонентов. К примеру, анимированные уведомления, привлекающие внимание пользователя.

Если вы хотите оживить ваш сайт или веб-приложение с помощью анимации, можно добавить немного движения в начале уведомления, как в этом простом примере:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

.notification-open {

  -webkit-animation: dropDown .6s;

  -webkit-animation-fill-mode: forwards;

  -webkit-animation-timing-function: ease-in-out;

  animation: dropDown .6s;

  animation-fill-mode: forwards;

  animation-timing-function: ease-in-out;

}

@-webkit-keyframes dropDown {

  from {-webkit-transform: translate(0,-100px);}

  to {-webkit-transform: translate(0,25px);}

}

@keyframes dropDown {

  from {-webkit-transform: translate(0,-100px);}

  to {-webkit-transform: translate(0,25px);}

}

Совет: не анимируйте стили позиционирования типа top и margin. Это вызывает перерисовку страницы, и в некоторых случаях заставляет браузер заново вычислять позиции видимых элементов.

@supports – поддержка в браузерах 67.85%

С помощью @supports можно проверить, поддерживается ли свойство или нет, и по этому условию стилизовать элементы. К примеру, правило можно использовать для проверки поддержки flexbox. Если поддержка отсутствует, мы возвращаемся к обтеканиям.

@supports (display: flex) {

  div { display: flex; }

}

@supports not (display: flex) {

  div { float: left; }

}

@supports можно сочетать с ключевым словом not. Один из подводных камней в том, что с помощью данного правила в большинстве случаев мы проверяем старые браузеры на поддержку новейших свойств. А старые браузеры сами по себе не поддерживают такой тип запроса.

На момент написания статьи правило поддерживается на 67.85%. Значение далеко от идеального, но оно явно перекрывает последние версии основных браузеров, что уже хорошо. Данное правило не поддерживается только в IE и Opera Mini. Данное правило также полезно, так как мы теперь можем отказаться от Modernizr.

Flexbox – поддержка в браузерах 95.4%

Об этой функции я ничего не слышал. Да шучу! О данном инструменте говорят в сотнях блогов и на различных конференциях. Отличный инструмент для позиционирования элементов, как горизонтально, так и вертикально. С его помощью можно легко центрировать элементы или задавать элементы одной высоты. Также можно менять порядок, в котором элементы отображаются на странице. Вас когда-нибудь просили поменять порядок изображений и текста секции для маленьких экранов? Меня просили, и flexbox легко с этим справляется.

@media only min-width(768px) {

  .row {

    display: flex;

    flex-direction: column-reverse;

  }

}

И все же я опасался использовать данный инструмент для чего-то важного, так как и с другими случаями я не верил в такую высокую поддержку. Flexbox может гордо похвастаться своей поддержкой в 95.4%. Он поддерживается во всех последних браузерах, даже в Opera Mini. Отсутствует поддержка только в IE9 и ниже, но это можно пережить.

3D трансформации – поддержка в браузерах 89.87%

С помощью данной функции можно позиционировать элементы в третьем измерении. Также есть свойство перспективы, с помощью которого можно задать z-index 3D элемента.

Все мы видели удивительной красоты примеры использования 3D на чистом CSS, но уровень поддержки в браузерах меня сильно удивил. С поддержкой в 89.87% для префикса webkit данное свойство уже сегодня можно использовать. Я бы даже предложил не добавлять фолбэк, так как в большинстве случаев функционал 3D элемента будет работать. Быстрый пример – карточка, которая будет крутиться и переворачиваться, если навести на нее мышь.

.card {

  -webkit-transform-style: preserve-3d;

  transform-style: preserve-3d;

  -webkit-transform: rotateX(0deg) rotateY(0deg);

  transform: rotateX(0deg) rotateY(0deg);

  transition: transform 1s;

}

.card:hover {

  -webkit-transform: rotateX(180deg) rotateY(180deg);

  transform: rotateX(180deg) rotateY(180deg);

}

Заключение

Я прочитал много блогов и прослушал еще больше подкастов по front-end разработке, но так и не понял, что нужно было читать документацию свойств на сайте Can I use. Серьезно, снимаю шляпу перед создателями сайта.

Если вы не уверены в поддержке того или иного свойства, Can I use это святой грааль. Рекомендую всем front-end разработчикам прочитать на сайте информацию по всем свойствам, их поддержке и известных проблемах. Места лучше для улучшения навыка в CSS не найти.

Читайте также:  Какие свойства у расторопши

Надеюсь, вы видите все те удивительные вещи, которые можно разрабатывать с помощью свойств из этого поста. 2016 год – год, когда можно начать использовать новые свойства и создавать богатый, захватывающий опыт работы с пользователем. Веб-приложение или же обычный сайт, никогда не ждите разрешения работать с новыми свойствами. Просто необходимо понимать уровень поддержки и использовать соответствующий фолбэк. А теперь вперед, пользуйтесь новыми свойствами!

Автор: Anthony Dillon

Источник: https://12devsofxmas.co.uk/

Редакция: Команда webformyself.

Какое свойство css делает сайт красивее

Практический курс по верстке адаптивного сайта с нуля!

Изучите курс и узнайте, как верстать современные сайты на HTML5 и CSS3

Узнать подробнее

Какое свойство css делает сайт красивее

PSD to HTML

Верстка сайта на HTML5 и CSS3 с нуля

Смотреть

Источник

В этой статье мы познакомимся с CSS и сделаем симпатичную форму входа на HTML.

Для начала давайте сразу набросаем очень простенькую и НЕ красивую форму :

<html>
<head>
<meta charset=»UTF-8″>
</head>
<body>
<form>

<h1>Вход</h1>

<div>
<input>
<label>Email</label>
</div>
<div>
<input>
<label>Пароль</label>
</div>

<button>Войти</button>

</form>
<body>
</html>

Да уж, согласитесь убогенько. Что бы сделать все красивей мы воспользуемся CSS(Cascading Style Sheets — каскадные таблицы стилей) — язык описания внешнего вида документа, написанного с использованием языка разметки. Преимущественно используется как средство описания внешнего вида веб-страниц, написанных с помощью языков разметки HTML и XHTML.

Первым делом.

Первым делом мы подключаем внешний файл стилей c помощью тега <link> , атрибут href=»style.css» указывает на путь к файлу.

<head>
<link rel=»stylesheet» href=»style.css» type=»text/css»>
</head>

Теперь давайте создадим файл style.css и напишем первый стиль в нем . Разместим нашу форму по середине экрана в центре.

body {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
}

Тут мы используем Flexbox систему компоновки элементов на веб-странице — display: flex; Выравниваем по осям justify-content: center; align-items: center; Ну и body {} говорит нам что этот стиль применяется ко всему телу тега <body>.

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

.form {
width: 300px;
# Ширина 300 пикселей
padding: 32px;
# Внутренний отступ 10 пикселей
border-radius: 10px;
# Закруглённую рамку или скруглить углы элемента.
box-shadow: 0 4px 16px #ccc;
# Тень элемента. 0 — смещение Х, 4 — смешение Y, 16 — степень размытия, #ccc — цвет.
font-family: sans-serif;
# Шрифт.
letter-spacing: 1px;
# Расстояние между буквами
}

Ну и конечно не забудем добавить этот стиль в HTML файл:

<form class=»form»>

Делай два.

Едем дальше. Создадим стиль для кнопочки(Войти) поменяем цвет , шрифт и поправим заголовок(Вход)

.form_title {
text-align: center;
# Текст по центру
margin: 0 0 32px 0;
# margin:10px 5px 15px 20px; — верхний отступ 10px — правый отступ 5px — нижний отступ 15px — левый отступ 20px.
font-weight: normal;
# Насыщенность шрифта, убираем жирность.
}

Кнопочка :

.form_button {
padding: 10px 20px;
border: none;
# Без границы блока.
border-radius: 5px;
# Радиус закругления
font-family: sans-serif;
letter-spacing: 1px;
font-size: 16xp;
color :#fff ;
# Цвет текста
background-color: #0071f0;
# Цвет фона
outline: none; #
Внешней границы элемента
cursor: pointer; #
Тип курсора при наведение
transition: 0.3s; #
transition позволяет делать плавные переходы между двумя значениями какого-либо CSS свойства
}

Добавляем стили в HTML :

<h1 class=»form_title»>Вход</h1>
<button class=»form_button»>Войти</button>

Поля ввода, подсказки.

Дальше на очереди поля в вода. Если вы обратили внимание каждое поле находиться в своем блоке <div> . Задаем стиль для блоков :

.form_grup {
position: relative;
# Положение элемента устанавливается относительно его исходного места.
margin-bottom: 32px
;# Внешний отступ снизу элемента

Теперь стиль поля ввода :

.form_input {
width: 100%;
padding: 0 0 10px 0;
border: none;
# Без рамки.
border-bottom: 1px solid #e0e0e0;
# Нижняя рамка 1 пиксель, цвет #e0e0e0
background-color: transparent;
# Фон будет прозрачным.
outline: none;
transition: 0.3s;

}

Стиль подсказок :

.form_label {
position: absolute;
# Абсолютное позиционирование.
top: 0;
# Смещение позиционированного элемента относительно верхнего края
z-index: -1; #
color: #9e9e9e;
# Цвет текска.
transition: 0.3s;
}

CSS свойство z-index определяет порядок расположения позиционированных элементов по оси Z. Это позволяет контролировать наложение перекрывающихся элементов.

<div class=»form_grup»>
<label class=»form_label»>Email</label>
<input class=»form_input»>
</div>
<div class=»form_grup»>
<label class=»form_label»>Пароль</label>
<input class=»form_input»>
</div>

Уже намного лучше выглядит ?

Немного анимации, завершаем.

Начнем с кнопки , если она в фокусе или на нее нажимают меняем цвет бэкграунд:

.form_button:focus,
.form_button:hover{
background-color: rgba(0, 113, 240, 0.7);
RGBA Цвет фона и значение прозрачности.
}

Когда поле ввода в фокусе , поменяем цвет нижней границы:

.form_input:focus {
border-bottom: 1px solid #1a73a8;
}

Так же поменяем свойства подсказок, сдвинем их в верх и уменьшим шрифт :

.form_input:focus ~ .form_label {
top: -18px;
font-size:12px;
color: #e0e0e0;
}

Уже совсем хорошо , но есть один косяк. Когда уходит фокус, подсказка возвращается на место.

Мы исправим это с помощью псевдоэлемент placeholder для стилизации дефолтного текста в элементе input или textarea. Большинство современных браузеров поддерживают это. Первым делом добавим его в HTML :

<input class=»form_input» placeholder=» «>

Теперь под правами CSS стиль :

.form_input:focus ~ .form_label,
.form_input:not(:placeholder-shown) ~ .form_label {
top: -18px;
font-size:12px;
color: #e0e0e0;
}

Надеюсь вам эта статья пригодилась и понравилась . Успехов.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник