~
+
^
$
|
>
āĻāĻĒāϰā§āϰ āĻāĻ āĻāĻŋāĻšā§āύāĻā§āϞā§āϰ āϏāĻžāĻĨā§ āĻĒā§āϰā§āύ⧠āĻĄā§āĻā§āϞāĻĒāĻžāϰāϰāĻž āĻāĻŽāĻŦā§āĻļāĻŋ āĻĒāϰāĻŋāĻāĻŋāϤ āĻšāϞā§āĻ, āύāϤā§āύ āĻšāĻŋāϏā§āĻŦā§ āĻāĻŽāĻžāϰ āĻāĻžāĻā§ āĻāĻā§āϞ⧠āĻāĻŋāϞ āĻāϞāĻŋā§ā§āύ āϏāĻžāĻāύ (we are not alone ) (āĻŦā§āϝāĻžāĻāĻā§āϰāĻžāĻāύā§āĻĄ āĻŽāĻŋāĻāĻāĻŋāĻ)āĨ¤ āĻāĻŽāĻŋ āĻā§āĻāϞ āĻāϰāϤāĻžāĻŽ āĻāĻāĻžāĻŦā§- What is this symble in CSS? āĻāϰ āĻāĻžāĻāĻā§ āĻāĻŋāĻā§āĻā§āϏ āĻāϰāĻžāϰ āϏāĻŽā§ āĻŦāϞāϤāĻžāĻŽ- āĻāĻāĻā§āϞāĻž āĻā§?
CSS Selector āĻāϰ āĻāϰā§āĻāĻāĻž āĻāĻžāĻŽā§āϞāĻžāϰ āĻāĻžā§āĻāĻž āĻšāϞā§- pseudo selectors
, pseudo elements
, pseudo classes
āĻŽāĻžāύā§, āĻā§āύāĻāĻž āĻā§?
::before ::after
āϏā§āϝā§āĻĄā§ āϏāĻŋāϞā§āĻā§āĻāϰ āύāĻžāĻāĻŋ āĻā§āϞāĻžāϏ, āύāĻžāĻāĻŋ āĻŦāĻžāĻāϏāĻžāĻāĻā§āϞ?
:hover :focus
āĻāĻā§āϞāĻž āĻāĻŋ āϏā§āϝā§āĻĄā§ āĻāϞāĻŋāĻŽā§āύā§āĻ āύāĻžāĻāĻŋ āĻā§āϞāĻžāϏ, āύāĻžāĻāĻŋ āĻŽāĻžāϏā§āĻāĻžāϰāĻŽāĻžāĻāύā§āĻĄ?
āĻāϏā§āύ āĻāĻāĻā§ āĻāϞā§āĻāύāĻžāϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻāĻ āĻŦāĻŋāώā§āĻā§āϞāĻžāϰ āϏāĻŽāĻžāϧāĻžāύ āĻāϰāĻŋāĨ¤ āĻĒā§āϰāϤāĻŋāĻāĻžāϰ āϏā§āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āύāĻžāĻŽ, āĻāĻžāĻ, āĻāĻŦāĻ āϏāĻŽā§āĻāĻŦ āĻšāϞ⧠CSS āĻāϰ āĻā§āύ āĻāĻžāϰā§āϏāύā§āϰ āĻ āύā§āϤāϰā§āĻā§āĻā§āϤ, āĻāĻ āĻŦāĻŋāώā§āĻā§āϞā§āĻ āĻāĻžāύāĻŦāĨ¤ āϤāĻŦā§ āĻļā§āϰ⧠āĻāϰāĻžāϰ āĻāĻā§ āĻāϰā§āĻāĻāĻž āĻŦāĻŋāώ⧠āĻŦāϞ⧠āύā§ā§āĻž āĻāĻžāϞāĨ¤
āĻāĻāĻā§ āĻļā§āϧ⧠CSS Selector āĻāϰ āύāĻžāĻŽ āĻāĻŦāĻ āĻļā§āϰā§āĻŖā§āĻŦāĻŋāύā§āϝāĻžāϏ āϤāĻĨāĻž āĻā§āϞāĻžāϏāĻŋāĻĢāĻŋāĻā§āϝāĻžāĻļāĻžāύ āύāĻŋā§ā§ āĻāĻŽāĻžāĻĻā§āϰ āĻŽāϧā§āϝ⧠āϝ⧠āĻāĻāĻāĻž āϧā§āĻāϝāĻŧāĻžāĻļāĻž āĻāĻā§, āϏā§āĻāĻž āĻā§āϞāĻŋā§āĻžāϰ āĻāϰāĻžāϰ āĻā§āώā§āĻāĻž āĻāϰāĻŦā§āĨ¤ āϏāĻŦ āϏāĻŋāϞā§āĻā§āĻāϰ āύāĻŋā§ā§ āĻāϞāĻžāĻĻāĻž āĻāϞāĻžāĻĻāĻž āĻāϞā§āĻāύāĻž āĻāϰāϤ⧠āĻā§āϞ⧠āϏāĻŋāϞā§āĻā§āĻāϰāĻĒāĻŋāĻĄāĻŋā§āĻž āĻšā§ā§ āϝāĻžāĻŦā§, āĻāĻŦāĻ āϏāϤā§āϝāĻŋ āĻŦāϞāϤ⧠āĻāĻŋ, āĻāϞāĻžāĻĻāĻž āĻāϞā§āĻāύāĻžāϰ āĻĒā§āϰā§ā§āĻāύāĻ āύāĻžāĻāĨ¤ āĻā§āĻŦāĻŋāϞ āĻāĻāĻžāϰ⧠āύāĻžāĻŽ, āĻāĻžāϰā§āϏāύ, āĻāĻžāĻ āĻāĻŦāĻ āĻā§āĻā§āĻ āĻāĻāĻāĻž āĻāĻĻāĻžāĻšāϰāĻŖ, āĻāĻāĻā§āĻā§āĻ āĻ āύā§āĻāĨ¤
[ā§§] āĻāĻāϰā§āĻāĻŋ pseudo āĻļāĻŦā§āĻĻā§āϰ āĻŦāĻžāĻāϞāĻž āĻ
āύā§āĻāĻāĻž āĻāĻāϰāĻāĻŽ- āĻā§āϤā§āϰāĻŋāĻŽ, āĻāĻĻā§āĻŽ āĻāϤā§āϝāĻžāĻĻāĻŋāĨ¤ āĻ
āϰā§āĻĨāĻžā§, Pseudo Selector āĻāϏāϞ⧠āĻā§āύ āϏā§āĻŦāϤāύā§āϤā§āϰ āϏāĻŋāϞā§āĻā§āĻāϰ āύāĻž, āĻāϰ āύāĻŋāĻāϏā§āĻŦ āĻā§āύ āϏāϤā§āϤāĻž āύāĻžāĻāĨ¤ āϏ⧠āĻā§āϤā§āϰāĻŋāĻŽ āĻĒāĻĻā§āϧāϤāĻŋāϤā§
āĻ
āύā§āϝ āĻāĻāĻāĻž āϏāĻŋāϞā§āĻā§āĻāϰā§āϰ āĻāĻĻā§āĻŽāĻŦā§āĻļā§ āϤāĻžāϰ āĻāĻžāĻ āĻāϰā§āĨ¤
āĻā§āύāĻāĻž āĻā§?
::before ::after
āĻāϰ āĻŽāϤ āϝāĻžāϰāĻž āĻāĻā§, āϝā§āĻŽāύ, ââ::selection ::marker ::first-line ::first-letter ::placeholder ::backdrop
āĻāϤā§āϝāĻžāĻĻāĻŋ, āĻāĻā§āϞā§āĻā§ āĻŦāϞāĻž āĻšā§- ââPseudo Element (āϏā§āϝā§āĻĄā§ āĻāϞāĻŋāĻŽā§āύā§āĻ)āĨ¤- āĻāϰāĻž āĻĄāĻŦāϞ āĻā§āϞāύ
::
āĻĻāĻŋā§ā§ āĻļā§āϰ⧠āĻšā§āĨ¤ āϤāĻŦā§ āĻāĻŋāĻā§ āĻŦā§āϰāĻžāĻāĻāĻžāϰā§āϰ āĻĒā§āϰā§āύ⧠āĻāĻžāϰā§āϏāύāĻā§āϞā§āϤ⧠āĻāĻā§āϰ āϏāĻŋāĻā§āĻā§āϞ āĻā§āϞāύ:
āĻĻāĻŋā§ā§āĻ āĻāĻžāĻ āĻāϰā§āĨ¤ āĻāĻĻā§āϰ āĻāĻžāĻ āĻšāϞ⧠āĻāϞāĻŋāĻŽā§āύā§āĻ āύāĻŋā§ā§āĨ¤ āĻāϞāĻŋāĻŽā§āύā§āĻā§āϰ āĻāĻā§/āĻĒāϰ⧠(::before ::after
) āĻāĻŋāĻā§ āĻāϰāĻž, āĻāϞāĻŋāĻŽā§āύā§āĻā§āϰ āĻĒā§āϰāĻĨāĻŽ āϞāĻžāĻāύ (::first-line
) āĻŦāĻž (::first-letter
), āĻāϤā§āϝāĻžāĻĻāĻŋ āύāĻŋā§ā§ āĻāĻžāĻ āĻāϰāĻž, āĻŽā§āĻāĻāĻĨāĻž āĻāϞāĻŋāĻŽā§āύā§āĻ-āĻā§āύā§āĻĻā§āϰāĻŋāĻ āĻāĻžāĻāĻāϰā§āĻŽ āϏāĻŦāĨ¤
- āĻāϰāĻž āĻĄāĻŦāϞ āĻā§āϞāύ
:hover :focus
āĻāϰ āĻŽāϤ āϝāĻžāϰāĻž āĻāĻā§, āϝā§āĻŽāύ,:visited :first-child :nth-child() :checked :target :has() :is() :where()
āĻāϤā§āϝāĻžāĻĻāĻŋ, āĻāĻā§āϞā§āĻā§ āĻŦāϞāĻž āĻšā§- Pseudo Class (āϏā§āϝā§āĻĄā§ āĻā§āϞāĻžāϏ)āĨ¤- āĻāϰāĻž āĻļā§āϰ⧠āĻšā§ āϏāĻŋāĻā§āĻā§āϞ āĻā§āϞāύ āĻĻāĻŋā§ā§āĨ¤ āĻāĻĻā§āϰ āĻāĻžāĻ āĻšāϞ⧠āĻāϞāĻŋāĻŽā§āύā§āĻā§āϰ āĻ
āĻŦāϏā§āĻĨāĻžāϰ (State) āĻāĻĒāϰ āĻāĻŋāϤā§āϤāĻŋ āĻāϰ⧠āĻāĻžāĻ āĻāϰāĻž, āϝā§āĻŽāύ-
:hover :focus :target :checked
āĻāϤā§āϝāĻžāĻĻāĻŋ, āĻ āĻĨāĻŦāĻž āĻāĻŋāύā§āύ āĻāϰā§āĻāĻāĻŋ āĻāϞāĻŋāĻŽā§āύā§āĻāĻā§ āϏāĻŋāϞā§āĻā§āĻ āĻāϰāĻž-:has() :is() :where()
āĻāϤā§āϝāĻžāĻĻāĻŋāĨ¤
- āĻāϰāĻž āĻļā§āϰ⧠āĻšā§ āϏāĻŋāĻā§āĻā§āϞ āĻā§āϞāύ āĻĻāĻŋā§ā§āĨ¤ āĻāĻĻā§āϰ āĻāĻžāĻ āĻšāϞ⧠āĻāϞāĻŋāĻŽā§āύā§āĻā§āϰ āĻ
āĻŦāϏā§āĻĨāĻžāϰ (State) āĻāĻĒāϰ āĻāĻŋāϤā§āϤāĻŋ āĻāϰ⧠āĻāĻžāĻ āĻāϰāĻž, āϝā§āĻŽāύ-
- āĻāϰ āĻāĻ āĻĻā§āĻ āϧāϰāύā§āϰ āϏāĻŋāϞā§āĻā§āĻāϰāĻā§ Pseudo Selector āĻŦāϞā§āĨ¤
āĻāĻŋāĻā§ āĻāĻŽāύ Pseudo Selector āύāĻŋāĻā§ āĻā§āĻŦāĻŋāϞ āĻāĻāĻžāϰ⧠āĻĻā§ā§āĻž āĻšāϞā§, āĻāĻžāϰā§āϏāύ āĻāĻŦāĻ āϏāĻāĻā§āώāĻŋāĻĒā§āϤ āĻĒāϰāĻŋāĻāĻŋāϤāĻŋāϏāĻšāĨ¤ āĻāĻā§āϞ⧠āĻāĻžā§āĻž āĻāϰāĻ āĻ āύā§āĻ āĻāĻā§, āϏāĻžāϰā§āĻ āĻāϰāϞā§āĻ āĻĒāĻžāĻŦā§āύāĨ¤
CSS Pseudo Elements
Pseudo Elements | Version | Short Definition & Example |
---|---|---|
::first-line |
CSS1 | Styles the first line of a block-level element. Example: p::first-line { color: blue; } |
::first-letter |
CSS1 | Styles the first letter of a block-level element. Example: p::first-letter { font-size: 2em; } |
::before |
CSS2 | Inserts content before an elementâs content. Example: p::before { content: "Note: "; } |
::after |
CSS2 | Inserts content after an elementâs content. Example: p::after { content: " End."; } |
::selection |
CSS3 | Styles the portion of text highlighted by the user. Example: ::selection { background: yellow; } |
::placeholder |
CSS3 | Styles the placeholder text of an input field. Example: input::placeholder { color: grey; } |
::marker |
CSS3 | Styles the bullet or numbering of list items. Example: li::marker { color: red; } |
::backdrop |
CSS4 | Styles the backdrop of an element in fullscreen mode. Example: ::backdrop { background: black; } |
::file-selector-button |
CSS4 | Styles the button in <input type="file"> . Example: input::file-selector-button { color: blue; } |
CSS Pseudo Classes
Pseudo Classes | Version | Short Definition & Example |
---|---|---|
:link |
CSS1 | Styles unvisited links. Example: a:link { color: blue; } |
:visited |
CSS1 | Styles visited links. Example: a:visited { color: purple; } |
:hover |
CSS2 | Styles elements when the mouse hovers over them. Example: a:hover { color: red; } |
:focus |
CSS2 | Styles elements when they are focused. Example: input:focus { border-color: green; } |
:first-child |
CSS2 | Targets the first child element of its parent. Example: p:first-child { font-weight: bold; } |
:nth-child() |
CSS3 | Matches elements based on their position among siblings. Example: p:nth-child(2) { color: blue; } |
:nth-of-type() |
CSS3 | Matches elements based on their type and position. Example: p:nth-of-type(2) { color: red; } |
:not() |
CSS3 | Excludes elements that match the given selector. Example: p:not(.highlight) { color: grey; } |
:enabled |
CSS3 | Styles form elements that are enabled. Example: input:enabled { background: white; } |
:disabled |
CSS3 | Styles form elements that are disabled. Example: input:disabled { background: grey; } |
:checked |
CSS3 | Styles elements that are checked (like checkboxes or radio buttons). Example: input:checked { background: yellow; } |
:target |
CSS3 | Styles elements that are the target of a URL fragment. Example: #section:target { background: yellow; } |
:has() |
CSS4 | Matches elements that contain specific child elements. Example: div:has(img) { border: 1px solid red; } |
:is() |
CSS4 | Matches elements that fit any of the selectors in the argument list. Example: p:is(.class1, .class2) { color: blue; } |
:where() |
CSS4 | Similar to :is() but with zero specificity. Example: :where(h1, h2) { margin: 0; } |
Combinator āĻāĻŦāĻ Attribute selector
[⧍] āĻļā§āϰā§āϤ⧠āϝ⧠āĻāĻŋāĻšā§āύāĻā§āϞā§āϰ āĻāĻĨāĻž āĻŦāϞā§āĻāĻŋāϞāĻžāĻŽ, āϏā§āĻā§āϞā§āĻ āĻĻā§āĻ āĻāĻžāĻā§ āĻŦāĻŋāĻāĻā§āϤ- Combinator āĻāĻŦāĻ Attribute selectorāĨ¤ āĻāĻā§āϞ⧠āĻŽā§āĻāĻžāĻŽā§āĻāĻŋ āĻĒā§āϰā§āύā§, āĻĒā§āϰāĻžā§ āϏāĻŦāĻžāĻ āĻāĻžāύāĻŋāĨ¤ āĻāϰ āĻāĻ Attribute selector āĻā§ $ ^ ~ *
āĻāϤā§āϝāĻžāĻĻāĻŋ āĻāĻŋāĻšā§āύāĻā§āϞ⧠āĻāϰāĻ āĻļāĻā§āϤāĻŋāĻļāĻžāϞ⧠āĻāϰā§āĨ¤ āĻĒā§āϰā§āύ⧠āĻšāϞā§āĻ āĻ
āύā§āĻā§ āĻāĻā§āϞā§āϰ āύāĻžāĻŽ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāĻāĻā§ āĻāύāĻĢāĻŋāĻāĻļāύ⧠āĻĨāĻžāĻā§āύāĨ¤ āύāĻŋāĻā§āϰ āĻā§āĻŦāĻŋāϞ⧠āĻāĻŋāĻā§ āĻāĻŽāύ Combinator āĻāĻŦāĻ Attribute selector āĻĻā§ā§āĻž āĻšāϞā§, āύāĻžāĻŽ, āĻāĻžāϰā§āϏāύ āĻ āϏāĻāĻā§āώāĻŋāĻĒā§āϤ āĻĒāϰāĻŋāĻāĻŋāϤāĻŋāϏāĻšāĨ¤
Selector | Name | Version | Description & Example |
---|---|---|---|
+ |
Adjacent Sibling Selector | CSS2 | Selects the first sibling element immediately following another element. Example: ul + p { color: blue; } |
~ |
General Sibling Selector | CSS2 | Selects all sibling elements that follow another element, not necessarily adjacent. Example: ul ~ table { border: 1px solid black; } |
[attribute] |
Attribute Selector | CSS1 | Selects all elements that have a specific attribute, regardless of its value. Example: [class] { color: red; } |
[attribute=my-Address] |
Exact Attribute Value Selector | CSS2 | Selects elements whose specific attribute exactly matches the value âmy-Addressâ. Example: [class=my-Address] { color: green; } |
[attribute$=ess] |
Ends With Attribute Selector | CSS2 | Selects elements whose attribute ends with a specific string. Example: [class$=ess] { color: blue; } |
[class|=my] |
Hyphen-Separated Attribute Selector | CSS2 | Selects elements whose attribute is either exactly âmyâ or starts with âmy-â, such as âmy-addressâ. Example: [class|=my] { color: purple; } |
[class^=L] |
Starts With Attribute Selector | CSS2 | Selects elements whose attribute starts with the specific value âLâ. Example: [class^=L] { color: orange; } |
[class~=beautiful] |
Contains Word Attribute Selector | CSS2 | Selects elements whose attribute contains a specific word (space-separated). Example: [class~=beautiful] { color: pink; } |
[class*=s] |
Contains Substring Attribute Selector | CSS3 | Selects elements whose attribute contains a specific substring anywhere in the value. Example: [class*=s] { color: teal; } |
āĻāĻāĻā§ āĻ āĻĒāϰā§āϝāύā§āϤāĻ, āϏāĻŦāĻžāĻ āĻāĻžāϞ āĻĨāĻžāĻāĻŦā§āύ, āĻāϞā§āϞāĻžāĻš āĻšāĻžāĻĢā§āĻ