CSS-стилизация является неотъемлемой частью создания привлекательного и удобного для пользователя сайта. Одними из самых мощных инструментов в нашем распоряжении являются псевдоклассы и псевдоэлементы.
На этот раз мы рассмотрим важность использования этих инструментов в CSS для улучшения взаимодействия и доступности наших сайтов, а также для придания им более изысканного и профессионального вида.
Это элементы, которые могут быть добавлены к элементу HTML для придания ему дополнительного стиля или функциональности.
Они называются "псевдо", потому что не являются реальными элементами HTML, а "моделируются" с помощью специального синтаксиса в CSS.
Здесь вы можете узнать все о псевдоэлементах.
Это ключевые слова, добавляемые к селекторам, которые определяют особое состояние выбранного элемента. Эти особые состояния могут включать такие действия пользователя, как наведение курсора на элемент или наличие активного элемента.
Здесь вы можете узнать все о псевдоклассах.
В некоторых случаях у вас может возникнуть соблазн создать новые элементы HTML, чтобы добавить дополнительные стили или функциональность вашей странице. Однако есть несколько причин, по которым вам следует рассмотреть возможность использования псевдоэлементов вместо создания новых элементов.
Вот несколько причин, по которым вы должны использовать псевдоэлементы и псевдоклассы в своих проектах:
<ul> <li><a href = "#">Home</a></li> <li><a href = "#">About Us</a></li> <li><a href = "#">Contact Us</a></li> </ul>
nav a:active { background-color: #6a82fb; }
<ul> <li><a href = "#">Home</a></li> <li><a href = "#">About Us</a></li> <li><a href = "#">Contact Us</a></li> </ul>
nav a:hover { color: #333; background-color: #fc5c7d; }
<input type = "email" id = "email" required placeholder = "Email" />
input:focus { background-color: #111; }
<footer> <ul> <li><a href = "/" class = "link">Link 1</a></li> <li><a href = "#" class = "link">Link 2</a></li> <li><a href = "/" class = "link">Link 3</a></li> </ul> </footer>
footer .link:visited { color: #444; }
<ol> <li>Lorem ipsum dolor sit amet, consectetur adipiscing.</li> <li>Lorem ipsum dolor sit amet, consectetur adipiscing.</li> <li>Lorem ipsum dolor sit amet, consectetur adipiscing.</li> </ol>
ol li:first-child { font-weight: bold; }
ol li:last-child { text-decoration: underline; }
<footer> <ul> <li><a href = "/" class = "link">Link 1</a></li> <li><a href = "#" class = "link">Link 2</a></li> <li><a href = "/" class = "link">Link 3</a></li> </ul> </footer>
footer ul li:not(:nth-child(3)) { font-weight: normal; }
<form> <button type = "submit" disabled>Subscribe</button>h </form>
<form> <button type = "submit" enabled>Subscribe</button>h </form>
form button:enabled { background-color: #6a82fb; color: white; padding: 10px 20px; border: none; }
form button:disabled { background-color: #ccc; color: #666; padding: 10px 20px; border: none; }
<form> <div id = "radio-group"> <input type = "radio" class = "radio" id = "radio1" /> <label for = "radio1">I agree</label>
<input type = "radio" class = "radio" id = "radio2" /> <label for = "radio2">I desagree</label> </div> </form>
.radio:checked { accent-color: #6a82fb; }
<form> <input type = "email" id = "email" required placeholder = "Email" /> </form>
input:valid { border: 2px solid green; }
input:invalid { border: 2px solid red; }
<section id = "about-us"> <h2>About Us</h2> <section>
<section id = "services"> <h2>Services</h2> </section>
#about-us h2::before { content: "😀"; }
#services h2::after { content: "👀"; }
2 - ::backdrop Применяет стили к фону за определенным элементом для придания ему большей важности или акцентирования внимания.
<dialog> <h2>I'm an open dialog window</h2> <p>Check out my backdrop :)</p> <button class = "btn" onclick = "closeDialog()">Close</button> </dialog>
dialog::backdrop { background-color: rgba(106, 130, 251, 0.4); }
3 - ::first-letter Применяет стили к первой букве абзаца.
<section id = "about-us"> <h2>About Us</h2> <p> We are a company dedicated to providing high quality products and services to our customers. We have been in business for over 10 years and have a reputation for excellent customer service and satisfaction. </p> </section>
#about-us p::first-letter { font-size: 150%; color: #6a82fb; }
4 - ::placeholder Применяет стили к временному тексту в элементе ввода.
<form> <input type = "email" id = "email" required placeholder = "Email" /> </form>
input#email::placeholder { color: #fc5c7d; }
5 - ::marker Применяет стили к маркерам элемента списка.
<section id = "about-us"> <li>First element</li> <li>Second element</li> <li>Third element</li> </ul> </section>
#about-us ul li::marker { color: #6a82fb; font-size: 1.5em; }
В целом, псевдоклассы являются важным инструментом для веб-разработчиков, поскольку они позволяют нам создавать взаимодействия и динамические визуальные эффекты на веб-страницах, улучшая пользовательский опыт и делая страницу более привлекательной и простой в использовании.
Важно помнить, что некоторые псевдоклассы более совместимы в определенных браузерах, поэтому всегда рекомендуется проверять совместимость, прежде чем использовать их в проекте.
Читать далее:
Добавление художественных эффектов к изображениям с помощью React и свойства CSS Filter
Bit - инструмент с открытым исходным кодом, который помогает 250 000+ разработчикам создавать приложения с помощью компонентов.
Превратите любой пользовательский интерфейс, функцию или страницу в компонент многократного использования - и делитесь им с другими приложениями. Так проще сотрудничать и быстрее создавать приложения.
→ Узнать больше
Разделяйте приложения на компоненты, чтобы упростить разработку приложений, и наслаждайтесь наилучшим опытом для нужных вам рабочих процессов:
27.03.2023 13:18
В JavaScript существует несколько типов данных, включая примитивные типы данных и ссылочные типы данных. Вот краткое объяснение различных типов данных в JavaScript с примерами:
27.03.2023 12:01
Футбол. Для многих людей, живущих на земле, эта игра - больше, чем просто спорт. И эти люди всегда мечтают стать футболистом или менеджером. Но, к сожалению, большинство из них не могут подняться по лестнице успеха, и эти идеи застревают на стадии мечты. В этот момент на помощь приходят футбольные...
27.03.2023 11:58
В Java исключение - это событие, возникающее во время выполнения программы, которое нарушает нормальный ход выполнения инструкций программы. Когда возникает исключение, программа прекращает нормальное выполнение и "бросает" объект исключения, который содержит информацию о возникшей ошибке. Это может...
27.03.2023 11:55
CSS Flex: что должен знать каждый разработчик Модуль flexbox, также известный как гибкий модуль разметки box, помогает эффективно проектировать и создавать отзывчивые веб-страницы без использования множества свойств позиционирования и float. По умолчанию в flex-контейнере есть только одна...
26.03.2023 13:40
Говорят, что лучшее о человеке можно увидеть только изнутри, и это относится и к веб-страницам HTML! Причина, по которой некоторые веб-страницы не видны в поисковых системах, заключается в том, что им не хватает функций, обеспечивающих их видимость.
26.03.2023 10:45