<p>
<p>CSS selectors play a vital role in web development and are used for web page styling. While many people are familiar with common selectors, there are some less common but very useful selectors.
What are CSS selectors?
<p>CSS selectors are patterns used to select elements on a web page for styling. They can locate elements based on attributes, classes, IDs, etc.
Commonly used CSS selectors
<p>Here are some commonly used selectors:
-
Element Selector: Targets all elements of a specific type. For example, to style all
<div>
elements:
<code>div {
border: 1px solid black;
}</code>
Copy after login
Copy after login
-
Class selector: Selects elements with a specific class. If we have a class called "text-large":
<code>.text-large {
font-size: 20px;
}</code>
Copy after login
Copy after login
-
ID selector: Targets elements with a specific ID. For element with ID "header":
<code>#header {
background-color: blue;
}</code>
Copy after login
Copy after login
-
Attribute selector: used for elements with specific attribute values. For example, to style all external links (using the "rel" attribute):
<code>a[rel="external"] {
color: red;
}</code>
Copy after login
Copy after login
Uncommon but useful CSS selectors
<h3>Child selector (>)
<p>It locates the direct child elements of the element. For parent elements with class "container":
<code>.container > p {
margin-left: 10px;
}</code>
Copy after login
<h3>Descendant selector ( )
<p>This will select all descendants within the element. If we have a div with the ID "main" and want to style all
<span>
elements inside it:
<code>#main span {
color: green;
}</code>
Copy after login
<h3>Adjacent sibling selector ( )
<p>Selects an element that immediately follows another specific element. For example, after the
<h3>
element, if there is a
<p>
element:
<code>h3 + p {
font-weight: bold;
}</code>
Copy after login
<h3>Universal sibling selector (~)
<p>Locate the sibling element of another element, not necessarily adjacent. If we have a div with class "item" and want to style all subsequent sibling elements with class "detail":
<code>.item ~ .detail {
padding-top: 5px;
}</code>
Copy after login
<h3>Attribute selector with partial matching (^=, $=, *=)
<code>img[src^="https://www.php.cn/link/e2e1cbe72ab1192e395c35295763982a"] {
border-radius: 5px;
}</code>
Copy after login
-
ends with ($=): For all forms whose methods end with "post":
<code>form[method$="post"] {
background-color: #f0f0f0;
}</code>
Copy after login
- *contains (=)**: To style all links that contain "product" in their href attribute:
<code>a[href*="product"] {
text-decoration: underline;
}</code>
Copy after login
<h3>Negative pseudo-class (:not())
<p>It selects elements that do not match a certain selector. For example, all elements except elements with class "hidden":
<code>:not(.hidden) {
display: block;
}</code>
Copy after login
<h3>Target pseudo-class (:target)
<p>When the URL fragment matches the ID of the element. For the part of the URL with the ID "contact":
<code>div {
border: 1px solid black;
}</code>
Copy after login
Copy after login
<h3>Language pseudo-class (:lang())
<p>Locate elements based on language attributes. For elements with lang="en-US":
<code>.text-large {
font-size: 20px;
}</code>
Copy after login
Copy after login
<h3>has pseudo-class (:has())
The <p>
:has()
pseudo-class is used to select elements that contain specific child elements or descendant elements. For example, to style a div containing an image:
<code>#header {
background-color: blue;
}</code>
Copy after login
Copy after login
<h3>Selection pseudo-class (::selection)
<p>This pseudo-class allows you to style the portion of text selected by the user. For example, when the user selects some text in a paragraph:
<code>a[rel="external"] {
color: red;
}</code>
Copy after login
Copy after login
Conclusion
<p>These uncommon CSS selectors provide additional ways to precisely position and style elements. They enhance the flexibility and functionality of CSS code, making it more powerful and efficient at creating visually appealing and well-structured web pages.
<p>For more information, please visit
https://www.php.cn/link/8dacd3d8b9d2cd20eb244b5f745ea88eThe above is the detailed content of Useful CSS Selectors You Might Not Know. For more information, please follow other related articles on the PHP Chinese website!