В этом Лаборатории вы научитесь создавать анимированные кнопки социальной поделиться с помощью HTML и CSS3. Эти кнопки используют библиотеку Font Awesome для иконок и стилизуются с использованием CSS для обеспечения плавного эффекта перехода при наведении. В конце этого руководства у вас будет набор красивых, адаптивных социальных кнопок, которые вы сможете интегрировать на любом сайте.
Skills Graph
%%%%{init: {'theme':'neutral'}}%%%%
flowchart RL
css(("CSS")) -.-> css/BasicConceptsGroup(["Basic Concepts"])
css(("CSS")) -.-> css/BasicStylingGroup(["Basic Styling"])
css(("CSS")) -.-> css/CoreLayoutGroup(["Core Layout"])
css(("CSS")) -.-> css/IntermediateStylingGroup(["Intermediate Styling"])
css(("CSS")) -.-> css/DynamicStylingGroup(["Dynamic Styling"])
css/BasicConceptsGroup -.-> css/selectors("Selectors")
css/BasicStylingGroup -.-> css/text_styling("Text Styling")
css/CoreLayoutGroup -.-> css/display_property("Display Property")
css/IntermediateStylingGroup -.-> css/pseudo_classes("Pseudo-classes")
css/IntermediateStylingGroup -.-> css/pseudo_elements("Pseudo-elements")
css/DynamicStylingGroup -.-> css/transformations("Transformations")
subgraph Lab Skills
css/selectors -.-> lab-179618{{"Анимированные кнопки социального разделения с использованием CSS"}}
css/text_styling -.-> lab-179618{{"Анимированные кнопки социального разделения с использованием CSS"}}
css/display_property -.-> lab-179618{{"Анимированные кнопки социального разделения с использованием CSS"}}
css/pseudo_classes -.-> lab-179618{{"Анимированные кнопки социального разделения с использованием CSS"}}
css/pseudo_elements -.-> lab-179618{{"Анимированные кнопки социального разделения с использованием CSS"}}
css/transformations -.-> lab-179618{{"Анимированные кнопки социального разделения с использованием CSS"}}
end
Введение в иконки
Для использования иконок Font Awesome просто используйте префикс "fa", за которым следует имя иконки.
Специфика формата следующая: <i class="fa ICON_NAME"></i>
Для подключения необходимых иконок из библиотеки иконок напишите следующий код в файле index.html:
Использование псевдо-классов селекторов позволяет изменить стиль при наведении курсора мыши на связанный объект. Поэтому мы добавляем пустую ссылку к иконке, или вы можете ссылаться на соответствующие социальные домашние страницы.
Далее мы настроим иконку на мгновенное увеличение при касании и изменение ее цвета. Для эффекта мгновенного увеличения мы можем использовать transform: scale(0.8) для уменьшения иконки до 80% ее исходного размера, а при наступлении события касания она возвращается к исходному размеру с использованием transform: scale(1).
Введите следующий код в файл style.css:
.social-btns.btn.fa {
/* Задаем стиль отображения по умолчанию для ссылки */
-webkit-transform: scale(0.8);
transform: scale(0.8);
}
.social-btns.btn:focus.fa, /* Выбираем стиль для фокусированной кнопки */
.social-btns.btn:hover.fa {
/* Задаем стиль отображения для ссылки при наведении курсора */
color: #fff; /* Меняем ее цвет */
-webkit-transform: scale(1);
transform: scale(1);
}
.social-btns.btn.fa {
/* Задаем размер и вертикальное выравнивание иконок, предоставляемых Font Awesome */
font-size: 38px;
vertical-align: middle;
}
Для макета страницы мы центрируем кнопки на странице, задаем их как элементы встроенного уровня с блочным поведением, а затем убираем их избыточность.
Атрибут display определяет тип элемента для генерации:
display:inline задает элемент встроенного типа, который занимает одну строку с другими элементами, то есть не занимает целую строку.
display:block задает элемент блочного уровня, который занимает целую строку.
display:inline-block комбинирует два предыдущих способа, чтобы создать элемент блочного уровня, который не занимает целую строку.
.social-btns {
height: 90px;
margin: 80px auto;
font-size: 0;
text-align: center; /* горизонтальное выравнивание по центру */
}
.social-btns.btn {
display: inline-block; /* задаем кнопку как элемент блочного уровня, который не занимает целую строку */
background-color: #fff;
width: 90px;
height: 90px;
line-height: 90px; /* задаем высоту строки */
margin: 0 10px;
text-align: center;
position: relative; /* задаем относительное позиционирование */
overflow: hidden; /* скрываем содержимое, выходящее за пределы элемента */
border-radius: 28%; /* закругляем углы DIV */
box-shadow: 0 5px 15px -5px rgba(0, 0, 0, 0.1); /* добавляем тень к элементу DIV */
opacity: 0.99; /* задаем прозрачность. От 0.0 - прозрачный до 1.0 - полностью непрозрачный */
}
Предварительный просмотр эффекта:
Мы видим, что при касании кнопки иконка и фон кнопки становятся белыми, что затрудняет четкое восприятие. Поэтому нам нужно настроить стиль кнопки при касании. Во - первых, мы должны повернуть btn:before по часовой стрелке на 45° с использованием transform: rotate(45deg). Затем настроим начальную и конечную позиции btn:before.
Селектор before: Вставляет новый контент перед содержимым элемента.
.social-btns.btn:before {
/* Задаем значения top и left перед содержимым каждого элемента btn, то есть позицию btn, когда она не нажата */
top: 90%;
left: -110%;
}
.social-btns.btn:focus:before,
.social-btns.btn:hover:before {
/* Настраивает позицию кнопки при нажатии */
top: -10%;
left: -10%;
}
.social-btns.btn:before {
content: "";
width: 120%;
height: 120%;
position: absolute;
/* Поворачиваем btn:before на 45° по часовой стрелке */
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
/* Задаем цвет btn:before, то есть цвет фона кнопки после нажатия */
.social-btns.btn.facebook:before {
background-color: #3b5998;
}
.social-btns.btn.twitter:before {
background-color: #00aff0;
}
.social-btns.btn.instagram:before {
background-color: #bf00ff;
}
.social-btns.btn.google:before {
background-color: #dc4a38;
}
.social-btns.btn.pinterest:before {
background-color: #cc0000;
}
Предварительный просмотр эффекта:
Наконец, мы настроим переходы для кнопок, в основном используя атрибут transition-timing-function для настройки кривой скорости переходного эффекта, чтобы сделать его визуально гладьше.
.social-btns.btn,
.social-btns.btn:before,
.social-btns.btn.fa {
transition: all 0.35s; /* все стили за 0.35 секунды с эффектом easing */
transition-timing-function: cubic-bezier(
0.31,
-0.105,
0.43,
1.59
); /* задаем скорость переходного эффекта */
}
Предварительный просмотр эффекта:
Примечание: Пожалуйста, нажмите на кнопку 'Go Live' в нижнем правом углу, чтобы запустить веб - сервис на порту 8080. Затем вы можете обновить вкладку Web 8080, чтобы просмотреть веб - страницу.
Расширение знаний
Мы можем настраивать не только эффект при наведении на гиперссылку, но и использовать псевдо - классовые селекторы для настройки эффектов для не посещенных, посещенных и выбранных гиперссылок.
a:link {attribute: value;} настраивает эффект для не посещенных гиперссылок.
a:visited {attribute: value;} настраивает эффект для посещенных гиперссылок.
a:active {attribute: value;} настраивает эффект для выбранных гиперссылок.
В этой Лаборатории с использованием CSS преобразуется статическая иконка в кнопку с динамическими эффектами. CSS позволяет не только устанавливать единый стиль для повторяющихся стилей, повышая эффективность веб-разработки, но и настраивать различные элементы в соответствии с потребностями веб-страницы, чтобы достичь цели по усовершенствованию вида веб-страницы и повышению ощущения пользования.
We use cookies for a number of reasons, such as keeping the website reliable and secure, to improve your experience on our website and to see how you interact with it. By accepting, you agree to our use of such cookies. Privacy Policy