Pseudo-classes allow adding CSS rules to certain parts of the same selector.
For example, when you define a style for a HTML tag or a particular class, the content of all those tags or class will have the same style. If you want to define a different style for the first (or last) element of those tags or for the first content of a group of elements with the same class, you can accomplish this by using pseudo-classes.
Also, they can change the graphic style of items when the mouse is acting on them.
To understand CSS pseudo-classes, how they work and what is their effect, study the following examples.
Type selectors refer to HTML tags which they define (eg.: p for <p>, li for <li>, div for <div>, etc.).
In the following example is used first-child
with paragraphs.
<style> p:first-child { color:blue; } </style> <h4>Example first-child</h4> <blockquote>Apply css style to first P tag.</blockquote> <div> <p>A text within the first paragraph</p> <p>Content in the second paragraph</p> <p>Text content in the third paragraph</p> </div>
hover
value applied to <li> tags.
<style> li:hover { background-color:#88fe88; } </style> <h4>Example hover</h4> <p>When you place the mouse over each LI, it will have a green background.</p> <ul> <li>Free courses and tutorials</li> <li>Web site: https://coursesweb.net</li> <li>Web site: marplo.net</li> </ul>
class
attribute, in stylesheets are added after a (.) character.lang
and last-child
applied to a class '.test':
<style> .test:last-child { background-color:#88fe88; } .test:lang(en) { color:blue; } </style> <h4>Example lang and last-child</h4> <p>The CSS style defined for <b>test: last-child</b> will be applied to the last LI that has class 'test'.<br> The CSS rule added to <b>.test:lang(en)</b> is applied only to the element that has both: <em>class='test'</em> and <em>lang='en'</em> attributes.</p> <ul> <li class='test'>HTML: https://coursesweb.net/html</li> <li class='test' lang='en'>CSS: https://coursesweb.net/css</li> <li class='test'>JavaScript: https://coursesweb.net/javascript</li> </ul>
<style> /* Applies to the first EM tag of every element with class='test' */ .test em:first-child { font-weight: bold; color: blue; } </style> <p>A CSS style will be applied to first EM tag of every 'test' class.</p> <p class='test'>Paragraph with three EM tags: <em>blue text</em>, a <em>second EM tag</em>, and another <em>em text</em>.</p> <p class='test'>Another paragraph: <em>a bold-italic blue string</em>, and a second <em>em sub-string</em>.</p>
hover
pseudo-class applied to an ID, and the focus
pseudo-class to a class (test).
<style> #idb:hover { background-color:#12da34; } .test:focus { background-color:#dadafe; } </style> <h4>Example hover and focus</h4> <p>When the mouse is over the button it changes its background color.<br> When you click on the text areas of the form it changes their background color.</p> <form action='' method='post'> <input type='text' class='test' /><br /> <textarea cols='20' rows='5' class='test'></textarea><br /> <input type='button' value='Button' id='idb' /> </form>
<ul> <li>http://coursesweb.net/html/</li> <li>http://coursesweb.net/css/</li> </ul>
.some_class { display: list-item; }
var obj = { "courses": ["php", "javascript", "ajax"] }; var jsonstr = JSON.stringify(obj); alert(jsonstr); // {"courses":["php","javascript","ajax"]}
$strhtml = '<body><div id="dv1">CoursesWeb.net</div></body>'; $dochtml = new DOMDocument(); $dochtml->loadHTML($strhtml); $elm = $dochtml->getElementById("dv1"); echo $elm->nodeValue; // CoursesWeb.net