 
    
<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>html5 selectors Archives - Complete, Concrete, Concise</title>
	<atom:link href="https://complete-concrete-concise.com/tag/html5-selectors/feed/" rel="self" type="application/rss+xml" />
	<link>https://complete-concrete-concise.com/tag/html5-selectors/</link>
	<description>Practical Information Without The Bloat</description>
	<lastBuildDate>Fri, 17 May 2019 11:57:10 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>
	<item>
		<title>Attribute Selectors &#8211; Advanced CSS Selectors &#8211; Part 4</title>
		<link>https://complete-concrete-concise.com/tutorials/webdev/front-end-basics/attribute-selectors-advanced-css-selectors-part-4/</link>
		
		<dc:creator><![CDATA[richardsplanet]]></dc:creator>
		<pubDate>Tue, 07 May 2019 18:16:02 +0000</pubDate>
				<category><![CDATA[Front-End Basics]]></category>
		<category><![CDATA[attribute]]></category>
		<category><![CDATA[attributes]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[html5 selectors]]></category>
		<category><![CDATA[tutorial]]></category>
		<guid isPermaLink="false">https://complete-concrete-concise.com/?p=3844</guid>

					<description><![CDATA[<p>Learn the 7 different ways to write [attribute] selectors.</p>
<p>The post <a href="https://complete-concrete-concise.com/tutorials/webdev/front-end-basics/attribute-selectors-advanced-css-selectors-part-4/">Attribute Selectors &#8211; Advanced CSS Selectors &#8211; Part 4</a> appeared first on <a href="https://complete-concrete-concise.com">Complete, Concrete, Concise</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="preamble">
<p>Attribute selectors offer more options than selectors for HTML tags, <span class="css-id">ID</span>s, and <span class="css-class">classes</span>.</p>
<p>As with all selectors, you can combine them to create powerful and specific selectors.</p>
</div>
<h2 id="contents">Contents</h2>
<ol class="incremental" type="1">
<li><a href="#review-of-attributes-seen-so-far">Review of Attributes Seen So Far</a></li>
<li><a href="#attribute">Attribute</a></li>
<li><a href="#exact-value">Exact Value</a></li>
<li><a href="#exact-match-a-single-value">Exact Match a Single Value</a></li>
<li><a href="#partial-match-at-start-of-value-1">Partial Match at Start of Value #1</a></li>
<li><a href="#partial-match-at-start-of-value-2">Partial Match at Start of Value #2</a></li>
<li><a href="#partial-match-at-end-of-value">Partial Match at End of Value</a></li>
<li><a href="#partial-match-anywhere-in-value">Partial Match Anywhere in Value</a></li>
<li><a href="#case-sensitivity">Case Sensitivity</a></li>
<li><a href="#closing-thoughts">Closing Thoughts</a></li>
<li><a href="#references">References</a></li>
</ol>
<h2 id="review-of-attributes-seen-so-far">Review of Attributes Seen So Far</h2>
<p>Attributes are additional information included inside HTML tags. So far, we have seen 9 of them (each item links to their first use in this tutorial series):</p>
<ol class="incremental" type="1">
<li><a href="https://complete-concrete-concise.com/tutorials/webdev/front-end-basics/css-selecting-specific-elements-for-styling/#id-selector"><span class="css-id">id</span></a></li>
<li><a href="https://complete-concrete-concise.com/tutorials/webdev/front-end-basics/css-selecting-specific-elements-for-styling/#class-selector"><span class="css-class">class</span></a></li>
<li><a href="https://complete-concrete-concise.com/tutorials/webdev/front-end-basics/css-selecting-specific-elements-for-styling/#class-selector">href</a></li>
<li><a href="https://complete-concrete-concise.com/tutorials/webdev/front-end-basics/hyperlinks-in-html/#target">target</a></li>
<li><a href="https://complete-concrete-concise.com/tutorials/webdev/front-end-basics/hyperlinks-in-html/#download">download</a></li>
<li><a href="https://complete-concrete-concise.com/tutorials/webdev/front-end-basics/images-in-html/#src">src</a></li>
<li><a href="https://complete-concrete-concise.com/tutorials/webdev/front-end-basics/images-in-html/#alt">alt</a></li>
<li><a href="https://complete-concrete-concise.com/tutorials/webdev/front-end-basics/lists-in-html/#reversed">reversed</a></li>
<li><a href="https://complete-concrete-concise.com/tutorials/webdev/front-end-basics/lists-in-html/#start">start</a></li>
</ol>
<p>Example use is shown below:</p>
<div id="cb1" class="sourceCode">
<pre class="sourceCode html"><code class="sourceCode html"><a id="cb1-1" class="sourceLine" title="1"></a><span class="kw">&lt;div</span><span class="ot"> id=</span><span class="st">"main"</span><span class="kw">&gt;</span>
<a id="cb1-2" class="sourceLine" title="2"></a>  <span class="kw">&lt;p</span><span class="ot"> class=</span><span class="st">"important todo scale"</span><span class="kw">&gt;</span>
<a id="cb1-3" class="sourceLine" title="3"></a>    Some paragraph text.
<a id="cb1-4" class="sourceLine" title="4"></a>  <span class="kw">&lt;/p&gt;</span>
<a id="cb1-5" class="sourceLine" title="5"></a><span class="kw">&lt;/div&gt;</span>  
<a id="cb1-6" class="sourceLine" title="6"></a>
<a id="cb1-7" class="sourceLine" title="7"></a><span class="kw">&lt;a</span><span class="ot"> href=</span><span class="st">"http://example.com"</span>
<a id="cb1-8" class="sourceLine" title="8"></a><span class="ot">   target=</span><span class="st">"_blank"</span>
<a id="cb1-9" class="sourceLine" title="9"></a><span class="ot">   download=</span><span class="st">"file.txt"</span><span class="kw">&gt;</span>
<a id="cb1-10" class="sourceLine" title="10"></a>   This is a link.
<a id="cb1-11" class="sourceLine" title="11"></a><span class="kw">&lt;/a&gt;</span>
<a id="cb1-12" class="sourceLine" title="12"></a>
<a id="cb1-13" class="sourceLine" title="13"></a><span class="kw">&lt;img</span><span class="ot"> src=</span><span class="st">"/img/picture.jpg"</span>
<a id="cb1-14" class="sourceLine" title="14"></a><span class="ot">     alt=</span><span class="st">"Description of the image"</span><span class="kw">&gt;</span>
<a id="cb1-15" class="sourceLine" title="15"></a>
<a id="cb1-16" class="sourceLine" title="16"></a><span class="kw">&lt;ol</span><span class="ot"> reversed</span>
<a id="cb1-17" class="sourceLine" title="17"></a><span class="ot">    start=</span><span class="st">"101"</span><span class="kw">&gt;</span>
<a id="cb1-18" class="sourceLine" title="18"></a>  <span class="kw">&lt;li&gt;</span>Item 1<span class="kw">&lt;/li&gt;</span>
<a id="cb1-19" class="sourceLine" title="19"></a>  <span class="kw">&lt;li&gt;</span>Item 2<span class="kw">&lt;/li&gt;</span>
<a id="cb1-20" class="sourceLine" title="20"></a><span class="kw">&lt;/ol&gt;</span></code></pre>
</div>
<h2 id="attribute">Attribute</h2>
<p>You can select elements by the attributes they contain by writing the attribute between square braces:</p>
<div id="cb2" class="sourceCode">
<pre class="sourceCode css"><code class="sourceCode css"><a id="cb2-1" class="sourceLine" title="1"></a><span class="co">/*</span>
<a id="cb2-2" class="sourceLine" title="2"></a><span class="co">  select all HTML elements containing the</span>
<a id="cb2-3" class="sourceLine" title="3"></a><span class="co">  'reversed' attribute</span>
<a id="cb2-4" class="sourceLine" title="4"></a><span class="co">*/</span>
<a id="cb2-5" class="sourceLine" title="5"></a><span class="ex">[reversed]</span> {
<a id="cb2-6" class="sourceLine" title="6"></a>  <span class="co">/* specificity = 0:1:0 */</span>
<a id="cb2-7" class="sourceLine" title="7"></a>}
<a id="cb2-8" class="sourceLine" title="8"></a>
<a id="cb2-9" class="sourceLine" title="9"></a><span class="co">/*</span>
<a id="cb2-10" class="sourceLine" title="10"></a><span class="co">  select all HTML elements containing the</span>
<a id="cb2-11" class="sourceLine" title="11"></a><span class="co">  'id' attribute</span>
<a id="cb2-12" class="sourceLine" title="12"></a><span class="co">*/</span>
<a id="cb2-13" class="sourceLine" title="13"></a><span class="ex">[id]</span> {
<a id="cb2-14" class="sourceLine" title="14"></a>  <span class="co">/* specificity = 0:1:0 */</span>
<a id="cb2-15" class="sourceLine" title="15"></a>}</code></pre>
</div>
<h2 id="exact-value">Exact Value</h2>
<p>You can select by specifying the exact attribute and its value. The value must be in quotes:</p>
<div id="cb3" class="sourceCode">
<pre class="sourceCode css"><code class="sourceCode css"><a id="cb3-1" class="sourceLine" title="1"></a><span class="ex">[id</span><span class="op">=</span><span class="st">"footer"</span><span class="ex">]</span> {
<a id="cb3-2" class="sourceLine" title="2"></a>  <span class="co">/* specificity = 0:1:0 */</span>
<a id="cb3-3" class="sourceLine" title="3"></a>}
<a id="cb3-4" class="sourceLine" title="4"></a>
<a id="cb3-5" class="sourceLine" title="5"></a><span class="ex">[class</span><span class="op">=</span><span class="st">"red box"</span><span class="ex">]</span>{
<a id="cb3-6" class="sourceLine" title="6"></a>  <span class="co">/* specificity = 0:1:0 */</span>
<a id="cb3-7" class="sourceLine" title="7"></a>}
<a id="cb3-8" class="sourceLine" title="8"></a>
<a id="cb3-9" class="sourceLine" title="9"></a><span class="ex">[start</span><span class="op">=</span><span class="st">"101"</span><span class="ex">]</span> {
<a id="cb3-10" class="sourceLine" title="10"></a>  <span class="co">/* specificity = 0:1:0 */</span>
<a id="cb3-11" class="sourceLine" title="11"></a>}</code></pre>
</div>
<h2 id="exact-match-a-single-value">Exact Match a Single Value</h2>
<p>If you have attributes with multiple values (<span class="css-class">classes</span> are a good example), you can select based on one of the values by placing a tilde (<strong>~</strong>) before the equals sign:</p>
<div id="cb4" class="sourceCode">
<pre class="sourceCode css"><code class="sourceCode css"><a id="cb4-1" class="sourceLine" title="1"></a><span class="ex">[class</span><span class="op">~=</span><span class="st">"box"</span><span class="ex">]</span> {
<a id="cb4-2" class="sourceLine" title="2"></a>  <span class="co">/* specificity = 0:1:0 */</span>
<a id="cb4-3" class="sourceLine" title="3"></a>}</code></pre>
</div>
<p>The selector above will select the following HTML elements because they all contain <strong>box</strong>:</p>
<div id="cb5" class="sourceCode">
<pre class="sourceCode html"><code class="sourceCode html"><a id="cb5-1" class="sourceLine" title="1"></a><span class="kw">&lt;p</span><span class="ot"> class=</span><span class="st">"red box"</span><span class="kw">&gt;</span>This is a selected paragraph.<span class="kw">&lt;/p&gt;</span>
<a id="cb5-2" class="sourceLine" title="2"></a><span class="kw">&lt;p</span><span class="ot"> class=</span><span class="st">"box blue"</span><span class="kw">&gt;</span>This one too.<span class="kw">&lt;/p&gt;</span>
<a id="cb5-3" class="sourceLine" title="3"></a><span class="kw">&lt;p</span><span class="ot"> class=</span><span class="st">"red green box blue"</span><span class="kw">&gt;</span>This too!<span class="kw">&lt;/p&gt;</span></code></pre>
</div>
<p>The attribute values must be separated by spaces:</p>
<div id="cb6" class="sourceCode">
<pre class="sourceCode html"><code class="sourceCode html"><a id="cb6-1" class="sourceLine" title="1"></a><span class="co">&lt;!--</span>
<a id="cb6-2" class="sourceLine" title="2"></a><span class="co">  Validly separated attribute values</span>
<a id="cb6-3" class="sourceLine" title="3"></a><span class="co">--&gt;</span>
<a id="cb6-4" class="sourceLine" title="4"></a><span class="kw">&lt;p</span><span class="ot"> class=</span><span class="st">"red box a b c"</span><span class="kw">&gt;&lt;/p&gt;</span>
<a id="cb6-5" class="sourceLine" title="5"></a>
<a id="cb6-6" class="sourceLine" title="6"></a><span class="co">&lt;!--</span>
<a id="cb6-7" class="sourceLine" title="7"></a><span class="co">  incorrectly separated attribute values</span>
<a id="cb6-8" class="sourceLine" title="8"></a><span class="co">--&gt;</span>
<a id="cb6-9" class="sourceLine" title="9"></a><span class="kw">&lt;p</span><span class="ot"> class=</span><span class="st">"red,box,a,b,c"</span><span class="kw">&gt;&lt;/p&gt;</span>
<a id="cb6-10" class="sourceLine" title="10"></a><span class="kw">&lt;p</span><span class="ot"> class=</span><span class="st">"a, b, c"</span><span class="kw">&gt;&lt;/p&gt;</span></code></pre>
</div>
<p>You can only match one attribute value:</p>
<div id="cb7" class="sourceCode">
<pre class="sourceCode css"><code class="sourceCode css"><a id="cb7-1" class="sourceLine" title="1"></a><span class="co">/*</span>
<a id="cb7-2" class="sourceLine" title="2"></a><span class="co">  THIS NEVER MATCHES ANYTHING</span>
<a id="cb7-3" class="sourceLine" title="3"></a>
<a id="cb7-4" class="sourceLine" title="4"></a><span class="co">  Even if you have an element like this:</span>
<a id="cb7-5" class="sourceLine" title="5"></a>
<a id="cb7-6" class="sourceLine" title="6"></a><span class="co">  &lt;p class="a red box blue"&gt;</span>
<a id="cb7-7" class="sourceLine" title="7"></a>
<a id="cb7-8" class="sourceLine" title="8"></a><span class="co">*/</span>
<a id="cb7-9" class="sourceLine" title="9"></a><span class="ex">[class</span><span class="op">~=</span><span class="st">"red box"</span><span class="ex">]</span> {
<a id="cb7-10" class="sourceLine" title="10"></a>
<a id="cb7-11" class="sourceLine" title="11"></a>}</code></pre>
</div>
<h2 id="partial-match-at-start-of-value-1">Partial Match at Start of Value #1</h2>
<p>You can match the beginning of a value string by using the <strong>vertical-bar</strong> before the equals sign (<strong>|=</strong>). The match <strong>must</strong> be followed by a hyphen:</p>
<div id="cb8" class="sourceCode">
<pre class="sourceCode css"><code class="sourceCode css"><a id="cb8-1" class="sourceLine" title="1"></a><span class="ex">[class</span><span class="op">|=</span><span class="st">"cf"</span><span class="ex">]</span> {
<a id="cb8-2" class="sourceLine" title="2"></a>  <span class="co">/* specificity = 0:1:0 */</span>
<a id="cb8-3" class="sourceLine" title="3"></a>}</code></pre>
</div>
<p>The selector above will match the following:</p>
<div id="cb9" class="sourceCode">
<pre class="sourceCode html"><code class="sourceCode html"><a id="cb9-1" class="sourceLine" title="1"></a><span class="kw">&lt;div</span><span class="ot"> class=</span><span class="st">"cf-abc"</span><span class="kw">&gt;&lt;/div&gt;</span>
<a id="cb9-2" class="sourceLine" title="2"></a>
<a id="cb9-3" class="sourceLine" title="3"></a><span class="kw">&lt;div</span><span class="ot"> class=</span><span class="st">"cf-"</span><span class="kw">&gt;&lt;/div&gt;</span>
<a id="cb9-4" class="sourceLine" title="4"></a>
<a id="cb9-5" class="sourceLine" title="5"></a><span class="kw">&lt;div</span><span class="ot"> class=</span><span class="st">"cf-d blue box"</span><span class="kw">&gt;&lt;/div&gt;</span></code></pre>
</div>
<p>The selector above will <strong>not</strong> match any of the following:</p>
<div id="cb10" class="sourceCode">
<pre class="sourceCode html"><code class="sourceCode html"><a id="cb10-1" class="sourceLine" title="1"></a><span class="co">&lt;!--</span>
<a id="cb10-2" class="sourceLine" title="2"></a><span class="co">  cf is not followed by a hyphen</span>
<a id="cb10-3" class="sourceLine" title="3"></a><span class="co">--&gt;</span>
<a id="cb10-4" class="sourceLine" title="4"></a><span class="kw">&lt;div</span><span class="ot"> class=</span><span class="st">"cf"</span><span class="kw">&gt;&lt;/div&gt;</span>
<a id="cb10-5" class="sourceLine" title="5"></a>
<a id="cb10-6" class="sourceLine" title="6"></a><span class="co">&lt;!--</span>
<a id="cb10-7" class="sourceLine" title="7"></a><span class="co">  cf is not at the start of the value string</span>
<a id="cb10-8" class="sourceLine" title="8"></a><span class="co">--&gt;</span>
<a id="cb10-9" class="sourceLine" title="9"></a><span class="kw">&lt;div</span><span class="ot"> class=</span><span class="st">"red cf- box"</span><span class="kw">&gt;&lt;/div&gt;</span></code></pre>
</div>
<p>This is an extremely specific behaviour that was originally introduced for dealing with language codes.<a id="fnref1" class="footnote-ref" href="#fn1"><sup>1</sup></a></p>
<h2 id="partial-match-at-start-of-value-2">Partial Match at Start of Value #2</h2>
<p>This is the more common way to match the start of an attribute value string.</p>
<p>You can match the beginning of a value string by using the <strong>caret</strong> before the equals sign (<strong>^=</strong>):</p>
<div id="cb11" class="sourceCode">
<pre class="sourceCode css"><code class="sourceCode css"><a id="cb11-1" class="sourceLine" title="1"></a><span class="ex">[class</span><span class="op">^=</span><span class="st">"cf"</span><span class="ex">]</span> {
<a id="cb11-2" class="sourceLine" title="2"></a>  <span class="co">/* specificity = 0:1:0 */</span>
<a id="cb11-3" class="sourceLine" title="3"></a>}</code></pre>
</div>
<p>The selector above will match the following:</p>
<div id="cb12" class="sourceCode">
<pre class="sourceCode html"><code class="sourceCode html"><a id="cb12-1" class="sourceLine" title="1"></a><span class="kw">&lt;div</span><span class="ot"> class=</span><span class="st">"cfabc"</span><span class="kw">&gt;&lt;/div&gt;</span>
<a id="cb12-2" class="sourceLine" title="2"></a>
<a id="cb12-3" class="sourceLine" title="3"></a><span class="kw">&lt;div</span><span class="ot"> class=</span><span class="st">"cf"</span><span class="kw">&gt;&lt;/div&gt;</span>
<a id="cb12-4" class="sourceLine" title="4"></a>
<a id="cb12-5" class="sourceLine" title="5"></a><span class="kw">&lt;div</span><span class="ot"> class=</span><span class="st">"cf-"</span><span class="kw">&gt;&lt;/div&gt;</span>
<a id="cb12-6" class="sourceLine" title="6"></a>
<a id="cb12-7" class="sourceLine" title="7"></a><span class="kw">&lt;div</span><span class="ot"> class=</span><span class="st">"cf-d blue box"</span><span class="kw">&gt;&lt;/div&gt;</span></code></pre>
</div>
<p>The selector above will <strong>not</strong> match any of the following:</p>
<div id="cb13" class="sourceCode">
<pre class="sourceCode html"><code class="sourceCode html"><a id="cb13-1" class="sourceLine" title="1"></a><span class="co">&lt;!--</span>
<a id="cb13-2" class="sourceLine" title="2"></a><span class="co">  cf is not at the start of the value string</span>
<a id="cb13-3" class="sourceLine" title="3"></a><span class="co">--&gt;</span>
<a id="cb13-4" class="sourceLine" title="4"></a><span class="kw">&lt;div</span><span class="ot"> class=</span><span class="st">"red cf box"</span><span class="kw">&gt;&lt;/div&gt;</span></code></pre>
</div>
<p>It should be obvious that you can make the <strong>^=</strong> equivalent to the <strong>|=</strong> by simply appending a hyphen to your string:</p>
<div id="cb14" class="sourceCode">
<pre class="sourceCode css"><code class="sourceCode css"><a id="cb14-1" class="sourceLine" title="1"></a>
<a id="cb14-2" class="sourceLine" title="2"></a><span class="co">/*</span>
<a id="cb14-3" class="sourceLine" title="3"></a><span class="co">  These two selectors are identical.</span>
<a id="cb14-4" class="sourceLine" title="4"></a><span class="co">*/</span>
<a id="cb14-5" class="sourceLine" title="5"></a><span class="ex">[class</span><span class="op">^=</span><span class="st">"cf-"</span><span class="ex">]</span> {
<a id="cb14-6" class="sourceLine" title="6"></a>
<a id="cb14-7" class="sourceLine" title="7"></a>}
<a id="cb14-8" class="sourceLine" title="8"></a>
<a id="cb14-9" class="sourceLine" title="9"></a><span class="ex">[class</span><span class="op">|=</span><span class="st">"cf"</span><span class="ex">]</span> {
<a id="cb14-10" class="sourceLine" title="10"></a>
<a id="cb14-11" class="sourceLine" title="11"></a>}</code></pre>
</div>
<h2 id="partial-match-at-end-of-value">Partial Match at End of Value</h2>
<p>You can match the end of a value string by using the <strong>dollar</strong> symbol before the equals sign (<strong>$=</strong>):</p>
<div id="cb15" class="sourceCode">
<pre class="sourceCode css"><code class="sourceCode css"><a id="cb15-1" class="sourceLine" title="1"></a><span class="ex">[class</span><span class="op">$=</span><span class="st">"nt"</span><span class="ex">]</span> {
<a id="cb15-2" class="sourceLine" title="2"></a>  <span class="co">/* specificity = 0:1:0 */</span>
<a id="cb15-3" class="sourceLine" title="3"></a>}</code></pre>
</div>
<p>The selector above will match the following:</p>
<div id="cb16" class="sourceCode">
<pre class="sourceCode html"><code class="sourceCode html"><a id="cb16-1" class="sourceLine" title="1"></a><span class="kw">&lt;div</span><span class="ot"> class=</span><span class="st">"nt"</span><span class="kw">&gt;&lt;/div&gt;</span>
<a id="cb16-2" class="sourceLine" title="2"></a>
<a id="cb16-3" class="sourceLine" title="3"></a><span class="kw">&lt;div</span><span class="ot"> class=</span><span class="st">"plant"</span><span class="kw">&gt;&lt;/div&gt;</span>
<a id="cb16-4" class="sourceLine" title="4"></a>
<a id="cb16-5" class="sourceLine" title="5"></a><span class="kw">&lt;div</span><span class="ot"> class=</span><span class="st">"cf-d blue box plant"</span><span class="kw">&gt;&lt;/div&gt;</span></code></pre>
</div>
<p>The selector above will <strong>not</strong> match any of the following:</p>
<div id="cb17" class="sourceCode">
<pre class="sourceCode html"><code class="sourceCode html"><a id="cb17-1" class="sourceLine" title="1"></a><span class="co">&lt;!--</span>
<a id="cb17-2" class="sourceLine" title="2"></a><span class="co">  nt is not at the end of the value string</span>
<a id="cb17-3" class="sourceLine" title="3"></a><span class="co">--&gt;</span>
<a id="cb17-4" class="sourceLine" title="4"></a><span class="kw">&lt;div</span><span class="ot"> class=</span><span class="st">"red nt box"</span><span class="kw">&gt;&lt;/div&gt;</span>
<a id="cb17-5" class="sourceLine" title="5"></a>
<a id="cb17-6" class="sourceLine" title="6"></a><span class="kw">&lt;div</span><span class="ot"> class=</span><span class="st">"plants"</span><span class="er">&lt;/div</span><span class="kw">&gt;</span></code></pre>
</div>
<h2 id="partial-match-anywhere-in-value">Partial Match Anywhere in Value</h2>
<p>You can match the value anywhere in a string by using the <strong>asterisk</strong> symbol before the equals sign (<strong>*=</strong>):</p>
<div id="cb18" class="sourceCode">
<pre class="sourceCode css"><code class="sourceCode css"><a id="cb18-1" class="sourceLine" title="1"></a><span class="ex">[class</span><span class="op">*=</span><span class="st">"nt"</span><span class="ex">]</span> {
<a id="cb18-2" class="sourceLine" title="2"></a>  <span class="co">/* specificity = 0:1:0 */</span>
<a id="cb18-3" class="sourceLine" title="3"></a>}</code></pre>
</div>
<p>The selector above will match the following:</p>
<div id="cb19" class="sourceCode">
<pre class="sourceCode html"><code class="sourceCode html"><a id="cb19-1" class="sourceLine" title="1"></a><span class="kw">&lt;div</span><span class="ot"> class=</span><span class="st">"nt"</span><span class="kw">&gt;&lt;/div&gt;</span>
<a id="cb19-2" class="sourceLine" title="2"></a>
<a id="cb19-3" class="sourceLine" title="3"></a><span class="kw">&lt;div</span><span class="ot"> class=</span><span class="st">"planter"</span><span class="kw">&gt;&lt;/div&gt;</span>
<a id="cb19-4" class="sourceLine" title="4"></a>
<a id="cb19-5" class="sourceLine" title="5"></a><span class="kw">&lt;div</span><span class="ot"> class=</span><span class="st">"cf-d blue plant box"</span><span class="kw">&gt;&lt;/div&gt;</span></code></pre>
</div>
<p>The selector above will <strong>not</strong> match any of the following:</p>
<div id="cb20" class="sourceCode">
<pre class="sourceCode html"><code class="sourceCode html"><a id="cb20-1" class="sourceLine" title="1"></a><span class="co">&lt;!--</span>
<a id="cb20-2" class="sourceLine" title="2"></a><span class="co">  nt is not is not found in any value string</span>
<a id="cb20-3" class="sourceLine" title="3"></a><span class="co">--&gt;</span>
<a id="cb20-4" class="sourceLine" title="4"></a><span class="kw">&lt;div</span><span class="ot"> class=</span><span class="st">"red flat box"</span><span class="kw">&gt;&lt;/div&gt;</span>
<a id="cb20-5" class="sourceLine" title="5"></a>
<a id="cb20-6" class="sourceLine" title="6"></a><span class="kw">&lt;div</span><span class="ot"> class=</span><span class="st">"explains"</span><span class="er">&lt;/div</span><span class="kw">&gt;</span></code></pre>
</div>
<h2 id="case-sensitivity">Case Sensitivity</h2>
<p>If you want to match values without regard to upper and lower case, you append <strong>i</strong> to the end of the attribute selector:</p>
<div id="cb21" class="sourceCode">
<pre class="sourceCode css"><code class="sourceCode css"><a id="cb21-1" class="sourceLine" title="1"></a><span class="ex">[class</span><span class="op">=</span><span class="st">"red" i</span><span class="ex">]</span> {
<a id="cb21-2" class="sourceLine" title="2"></a>  <span class="co">/* specificity = 0:1:0 */</span>
<a id="cb21-3" class="sourceLine" title="3"></a>}</code></pre>
</div>
<p>The selector above will match any of the following:<a id="fnref2" class="footnote-ref" href="#fn2"><sup>2</sup></a></p>
<div id="cb22" class="sourceCode">
<pre class="sourceCode html"><code class="sourceCode html"><a id="cb22-1" class="sourceLine" title="1"></a><span class="kw">&lt;div</span><span class="ot"> class=</span><span class="st">"red"</span><span class="kw">&gt;&lt;/div&gt;</span>
<a id="cb22-2" class="sourceLine" title="2"></a>
<a id="cb22-3" class="sourceLine" title="3"></a><span class="kw">&lt;div</span><span class="ot"> class=</span><span class="st">"RED"</span><span class="kw">&gt;&lt;/div&gt;</span>
<a id="cb22-4" class="sourceLine" title="4"></a>
<a id="cb22-5" class="sourceLine" title="5"></a><span class="kw">&lt;div</span><span class="ot"> class=</span><span class="st">"Red"</span><span class="kw">&gt;&lt;/div&gt;</span>
<a id="cb22-6" class="sourceLine" title="6"></a>
<a id="cb22-7" class="sourceLine" title="7"></a><span class="kw">&lt;div</span><span class="ot"> class=</span><span class="st">"rED"</span><span class="kw">&gt;&lt;/div&gt;</span>
<a id="cb22-8" class="sourceLine" title="8"></a>
<a id="cb22-9" class="sourceLine" title="9"></a><span class="kw">&lt;div</span><span class="ot"> class=</span><span class="st">"rEd"</span><span class="kw">&gt;&lt;/div&gt;</span>
<a id="cb22-10" class="sourceLine" title="10"></a>
<a id="cb22-11" class="sourceLine" title="11"></a><span class="kw">&lt;div</span><span class="ot"> class=</span><span class="st">"ReD"</span><span class="kw">&gt;&lt;/div&gt;</span>
<a id="cb22-12" class="sourceLine" title="12"></a>
<a id="cb22-13" class="sourceLine" title="13"></a><span class="kw">&lt;div</span><span class="ot"> class=</span><span class="st">"REd"</span><span class="kw">&gt;&lt;/div&gt;</span>
<a id="cb22-14" class="sourceLine" title="14"></a>
<a id="cb22-15" class="sourceLine" title="15"></a><span class="kw">&lt;div</span><span class="ot"> class=</span><span class="st">"reD"</span><span class="kw">&gt;&lt;/div&gt;</span></code></pre>
</div>
<p>It is a good idea to be consistent in your use of case to avoid situations where you might need to use case insensitive matching.</p>
<h2 id="closing-thoughts">Closing Thoughts</h2>
<ol class="incremental" type="1">
<li>Attribute selectors provide 7 different ways to match attributes and their values.
<ol class="incremental" type="1">
<li>[attribute] &#8211; select only by attribute name</li>
<li>[attribute=“value”] &#8211; select by attribute name and exact value</li>
<li>[attribute~=“value”] &#8211; select by attribute name and exact match one value in the value string</li>
<li>[attribute|=“val”] &#8211; select by attribute name and exact match at the beginning of the value string which must then be followed by a hyphen</li>
<li>[attribute^=“val”] &#8211; select by attribute name and exact match match at the beginning of the value string</li>
<li>[attribute$=“lue”] &#8211; select by attribute name and exact match at the end of the value string</li>
<li>[attribute*=“value”] &#8211; select by attribute name and exact match anywhere in the value string</li>
</ol>
</li>
<li>You can combine attribute selectors with other selectors and combinators:
<div id="cb23" class="sourceCode">
<pre class="sourceCode css"><code class="sourceCode css"><a id="cb23-1" class="sourceLine" title="1"></a><span class="co">/*</span>
<a id="cb23-2" class="sourceLine" title="2"></a><span class="co">  only selects ordered lists that contain the</span>
<a id="cb23-3" class="sourceLine" title="3"></a><span class="co">  attribute reversed and the attribute list</span>
<a id="cb23-4" class="sourceLine" title="4"></a><span class="co">*/</span>
<a id="cb23-5" class="sourceLine" title="5"></a>ol<span class="ex">[reversed][start]</span> {
<a id="cb23-6" class="sourceLine" title="6"></a>  <span class="co">/* specificity 0:2:1 */</span>
<a id="cb23-7" class="sourceLine" title="7"></a>
<a id="cb23-8" class="sourceLine" title="8"></a>}
<a id="cb23-9" class="sourceLine" title="9"></a>
<a id="cb23-10" class="sourceLine" title="10"></a><span class="co">/*</span>
<a id="cb23-11" class="sourceLine" title="11"></a><span class="co">  selects elements contained within objects</span>
<a id="cb23-12" class="sourceLine" title="12"></a><span class="co">  having an ID of #main if those elements</span>
<a id="cb23-13" class="sourceLine" title="13"></a><span class="co">  contain an attribute of target</span>
<a id="cb23-14" class="sourceLine" title="14"></a><span class="co">*/</span>
<a id="cb23-15" class="sourceLine" title="15"></a><span class="pp">#main</span> <span class="ex">[target</span><span class="op">=</span><span class="st">"_blank"</span><span class="ex">]</span> {
<a id="cb23-16" class="sourceLine" title="16"></a>  <span class="co">/* specificity = 1:1:0 */</span>
<a id="cb23-17" class="sourceLine" title="17"></a>}</code></pre>
</div>
</li>
<li>You could colour code links to visually show if they refer this site or an external site:
<div id="cb24" class="sourceCode">
<pre class="sourceCode css"><code class="sourceCode css"><a id="cb24-1" class="sourceLine" title="1"></a>  <span class="co">/*</span>
<a id="cb24-2" class="sourceLine" title="2"></a><span class="co">    as long as the link contains</span>
<a id="cb24-3" class="sourceLine" title="3"></a><span class="co">    complet-concrete-concise.com</span>
<a id="cb24-4" class="sourceLine" title="4"></a><span class="co">    we assume is points to this website</span>
<a id="cb24-5" class="sourceLine" title="5"></a><span class="co">  */</span>
<a id="cb24-6" class="sourceLine" title="6"></a>  a<span class="ex">[href</span><span class="op">*=</span><span class="st">"complete-concrete-concise.com"</span><span class="ex">]</span> {
<a id="cb24-7" class="sourceLine" title="7"></a>    <span class="kw">color</span>: <span class="cn">green</span><span class="op">;</span>
<a id="cb24-8" class="sourceLine" title="8"></a>  }</code></pre>
</div>
</li>
<li>You could colour code links to visually show if a link uses a secure or unsecured connection:
<div id="cb25" class="sourceCode">
<pre class="sourceCode css"><code class="sourceCode css"><a id="cb25-1" class="sourceLine" title="1"></a>  <span class="co">/*</span>
<a id="cb25-2" class="sourceLine" title="2"></a><span class="co">    secure links begin with https</span>
<a id="cb25-3" class="sourceLine" title="3"></a><span class="co">  */</span>
<a id="cb25-4" class="sourceLine" title="4"></a>  a<span class="ex">[href</span><span class="op">^=</span><span class="st">"https:"</span><span class="ex">]</span> {
<a id="cb25-5" class="sourceLine" title="5"></a>    <span class="kw">color</span>: <span class="cn">green</span><span class="op">;</span>
<a id="cb25-6" class="sourceLine" title="6"></a>  }
<a id="cb25-7" class="sourceLine" title="7"></a>
<a id="cb25-8" class="sourceLine" title="8"></a>  <span class="co">/*</span>
<a id="cb25-9" class="sourceLine" title="9"></a><span class="co">    unsecured links begin with http</span>
<a id="cb25-10" class="sourceLine" title="10"></a><span class="co">  */</span>
<a id="cb25-11" class="sourceLine" title="11"></a>  a<span class="ex">[href</span><span class="op">^=</span><span class="st">"http:"</span><span class="ex">]</span> {
<a id="cb25-12" class="sourceLine" title="12"></a>    <span class="kw">color</span>: <span class="cn">red</span><span class="op">;</span>
<a id="cb25-13" class="sourceLine" title="13"></a>  }</code></pre>
</div>
</li>
<li>Given the following HTML code:
<div id="cb26" class="sourceCode">
<pre class="sourceCode html"><code class="sourceCode html"><a id="cb26-1" class="sourceLine" title="1"></a><span class="kw">&lt;p</span><span class="ot"> class=</span><span class="st">"box"</span><span class="kw">&gt;</span>Some paragraph.<span class="kw">&lt;/p&gt;</span></code></pre>
</div>
<p>There is no functional difference between these pairs of selectors:</p>
<div id="cb27" class="sourceCode">
<pre class="sourceCode css"><code class="sourceCode css"><a id="cb27-1" class="sourceLine" title="1"></a>
<a id="cb27-2" class="sourceLine" title="2"></a><span class="ex">[class</span><span class="op">=</span><span class="st">"box"</span><span class="ex">]</span> {
<a id="cb27-3" class="sourceLine" title="3"></a>
<a id="cb27-4" class="sourceLine" title="4"></a>}
<a id="cb27-5" class="sourceLine" title="5"></a>
<a id="cb27-6" class="sourceLine" title="6"></a><span class="fu">.box</span> {
<a id="cb27-7" class="sourceLine" title="7"></a>
<a id="cb27-8" class="sourceLine" title="8"></a>}
<a id="cb27-9" class="sourceLine" title="9"></a>
<a id="cb27-10" class="sourceLine" title="10"></a>
<a id="cb27-11" class="sourceLine" title="11"></a>p<span class="ex">[class</span><span class="op">=</span><span class="st">"box"</span><span class="ex">]</span> {
<a id="cb27-12" class="sourceLine" title="12"></a>
<a id="cb27-13" class="sourceLine" title="13"></a>}
<a id="cb27-14" class="sourceLine" title="14"></a>
<a id="cb27-15" class="sourceLine" title="15"></a>p<span class="fu">.box</span> {
<a id="cb27-16" class="sourceLine" title="16"></a>
<a id="cb27-17" class="sourceLine" title="17"></a>}</code></pre>
</div>
</li>
<li>Given the following HTML code:
<div id="cb28" class="sourceCode">
<pre class="sourceCode html"><code class="sourceCode html"><a id="cb28-1" class="sourceLine" title="1"></a><span class="kw">&lt;p</span><span class="ot"> class=</span><span class="st">"box blue"</span><span class="kw">&gt;</span>Some paragraph.<span class="kw">&lt;/p&gt;</span></code></pre>
</div>
<p>These pairs of selectors behave differently:</p>
<div id="cb29" class="sourceCode">
<pre class="sourceCode css"><code class="sourceCode css"><a id="cb29-1" class="sourceLine" title="1"></a><span class="co">/*</span>
<a id="cb29-2" class="sourceLine" title="2"></a><span class="co">  selects only if the class is exactly "box"</span>
<a id="cb29-3" class="sourceLine" title="3"></a><span class="co">*/</span>
<a id="cb29-4" class="sourceLine" title="4"></a><span class="ex">[class</span><span class="op">=</span><span class="st">"box"</span><span class="ex">]</span> {
<a id="cb29-5" class="sourceLine" title="5"></a>
<a id="cb29-6" class="sourceLine" title="6"></a>}
<a id="cb29-7" class="sourceLine" title="7"></a>
<a id="cb29-8" class="sourceLine" title="8"></a><span class="co">/*</span>
<a id="cb29-9" class="sourceLine" title="9"></a><span class="co">  selects if the class contains "box"</span>
<a id="cb29-10" class="sourceLine" title="10"></a><span class="co">*/</span>
<a id="cb29-11" class="sourceLine" title="11"></a><span class="fu">.box</span> {
<a id="cb29-12" class="sourceLine" title="12"></a>
<a id="cb29-13" class="sourceLine" title="13"></a>}
<a id="cb29-14" class="sourceLine" title="14"></a>
<a id="cb29-15" class="sourceLine" title="15"></a>
<a id="cb29-16" class="sourceLine" title="16"></a>p<span class="ex">[class</span><span class="op">=</span><span class="st">"box"</span><span class="ex">]</span> {
<a id="cb29-17" class="sourceLine" title="17"></a>
<a id="cb29-18" class="sourceLine" title="18"></a>}
<a id="cb29-19" class="sourceLine" title="19"></a>
<a id="cb29-20" class="sourceLine" title="20"></a>p<span class="fu">.box</span> {
<a id="cb29-21" class="sourceLine" title="21"></a>
<a id="cb29-22" class="sourceLine" title="22"></a>}</code></pre>
</div>
<p>You might be tempted to rewrite the attribute selector as:</p>
<div id="cb30" class="sourceCode">
<pre class="sourceCode css"><code class="sourceCode css"><a id="cb30-1" class="sourceLine" title="1"></a><span class="ex">[class</span><span class="op">*=</span><span class="st">"box"</span><span class="ex">]</span> {
<a id="cb30-2" class="sourceLine" title="2"></a>
<a id="cb30-3" class="sourceLine" title="3"></a>}</code></pre>
</div>
<p>But that selector will match not only <strong>box</strong>, but also: <strong>matchbox</strong>, <strong>bitbox</strong>, and any other class with <strong>box</strong> in it.</p>
<p>The correct substitution would be:</p>
<div id="cb31" class="sourceCode">
<pre class="sourceCode css"><code class="sourceCode css"><a id="cb31-1" class="sourceLine" title="1"></a><span class="ex">[class</span><span class="op">~=</span><span class="st">"box"</span><span class="ex">]</span> {
<a id="cb31-2" class="sourceLine" title="2"></a>
<a id="cb31-3" class="sourceLine" title="3"></a>}</code></pre>
</div>
</li>
<li>Analyzing 4632 CSS rules<a id="fnref3" class="footnote-ref" href="#fn3"><sup>3</sup></a> from the home pages of 5 different websites<a id="fnref4" class="footnote-ref" href="#fn4"><sup>4</sup></a> revealed the following attribute selector distribution:<a id="fnref5" class="footnote-ref" href="#fn5"><sup>5</sup></a>
<ul class="incremental">
<li>2.5% of the rules use attribute selectors</li>
<li>85.2% of the attribute selectors use an exact match ([attribute=“value”])</li>
<li>11.3% of the attribute selectors match the attribute ([attribute])</li>
<li>3.5% of the attribute selectors do a partial on the start of the value ([attribute^=“val”])</li>
<li>No other attribute selector types were used</li>
</ul>
</li>
<li>To see some real world selector examples using attribute selectors, consider the following from the <a href="https://github.com/WordPress/twentysixteen/blob/master/style.css">WordPress 2016 Theme</a>:<a id="fnref6" class="footnote-ref" href="#fn6"><sup>6</sup></a>
<div id="cb32" class="sourceCode">
<pre class="sourceCode css"><code class="sourceCode css"><a id="cb32-1" class="sourceLine" title="1"></a><span class="co">/*</span>
<a id="cb32-2" class="sourceLine" title="2"></a><span class="co">  Style a link (&lt;a&gt;) only if:</span>
<a id="cb32-3" class="sourceLine" title="3"></a><span class="co">  (1) the value of href begins with "mailto:"</span>
<a id="cb32-4" class="sourceLine" title="4"></a><span class="co">  (2) it is somewhere inside a block with a</span>
<a id="cb32-5" class="sourceLine" title="5"></a><span class="co">      class of .social-navigation</span>
<a id="cb32-6" class="sourceLine" title="6"></a>
<a id="cb32-7" class="sourceLine" title="7"></a><span class="co">  :before is a pseudo-element which will be</span>
<a id="cb32-8" class="sourceLine" title="8"></a><span class="co">  covered in a later tutorial. Pseudo-elements</span>
<a id="cb32-9" class="sourceLine" title="9"></a><span class="co">  add 0:1:0 to specificity</span>
<a id="cb32-10" class="sourceLine" title="10"></a>
<a id="cb32-11" class="sourceLine" title="11"></a><span class="co">  specificity = 0:3:1</span>
<a id="cb32-12" class="sourceLine" title="12"></a><span class="co">*/</span>
<a id="cb32-13" class="sourceLine" title="13"></a><span class="fu">.social-navigation</span> a<span class="ex">[href</span><span class="op">^=</span><span class="st">"mailto:"</span><span class="ex">]</span><span class="in">:before</span> {
<a id="cb32-14" class="sourceLine" title="14"></a>    <span class="kw">content</span>: <span class="st">"</span><span class="sc">\f410</span><span class="st">"</span><span class="op">;</span>
<a id="cb32-15" class="sourceLine" title="15"></a>}
<a id="cb32-16" class="sourceLine" title="16"></a>
<a id="cb32-17" class="sourceLine" title="17"></a><span class="co">/*</span>
<a id="cb32-18" class="sourceLine" title="18"></a><span class="co">Style a link (&lt;a&gt;) only if:</span>
<a id="cb32-19" class="sourceLine" title="19"></a><span class="co">(1) the value of href ends with "/feed/:"</span>
<a id="cb32-20" class="sourceLine" title="20"></a><span class="co">(2) it is somewhere inside a block with a</span>
<a id="cb32-21" class="sourceLine" title="21"></a><span class="co">    class of .social-navigation</span>
<a id="cb32-22" class="sourceLine" title="22"></a>
<a id="cb32-23" class="sourceLine" title="23"></a><span class="co">:before is a pseudo-element which will be</span>
<a id="cb32-24" class="sourceLine" title="24"></a><span class="co">covered in a later tutorial. Pseudo-elements</span>
<a id="cb32-25" class="sourceLine" title="25"></a><span class="co">add 0:1:0 to specificity</span>
<a id="cb32-26" class="sourceLine" title="26"></a>
<a id="cb32-27" class="sourceLine" title="27"></a><span class="co">specificity = 0:3:1</span>
<a id="cb32-28" class="sourceLine" title="28"></a><span class="co">*/</span>
<a id="cb32-29" class="sourceLine" title="29"></a><span class="fu">.social-navigation</span> a<span class="ex">[href</span><span class="op">$=</span><span class="st">"/feed/"</span><span class="ex">]</span><span class="in">:before</span> {
<a id="cb32-30" class="sourceLine" title="30"></a>    <span class="kw">content</span>: <span class="st">"</span><span class="sc">\f413</span><span class="st">"</span><span class="op">;</span>
<a id="cb32-31" class="sourceLine" title="31"></a>}
<a id="cb32-32" class="sourceLine" title="32"></a>
<a id="cb32-33" class="sourceLine" title="33"></a><span class="co">/*</span>
<a id="cb32-34" class="sourceLine" title="34"></a><span class="co">  Style &lt;img&gt; tags only if:</span>
<a id="cb32-35" class="sourceLine" title="35"></a><span class="co">  (1) they have a class name containing</span>
<a id="cb32-36" class="sourceLine" title="36"></a><span class="co">      "wp-image-"</span>
<a id="cb32-37" class="sourceLine" title="37"></a><span class="co">  (2) they are somewhere inside a block with</span>
<a id="cb32-38" class="sourceLine" title="38"></a><span class="co">      a class of .wp-caption</span>
<a id="cb32-39" class="sourceLine" title="39"></a>
<a id="cb32-40" class="sourceLine" title="40"></a><span class="co">  specificity = 0:2:1</span>
<a id="cb32-41" class="sourceLine" title="41"></a><span class="co">*/</span>
<a id="cb32-42" class="sourceLine" title="42"></a><span class="fu">.wp-caption</span> img<span class="ex">[class</span><span class="op">*=</span><span class="st">"wp-image-"</span><span class="ex">]</span> {
<a id="cb32-43" class="sourceLine" title="43"></a>    <span class="kw">display</span>: <span class="dv">block</span><span class="op">;</span>
<a id="cb32-44" class="sourceLine" title="44"></a>    <span class="kw">margin</span>: <span class="dv">0</span><span class="op">;</span>
<a id="cb32-45" class="sourceLine" title="45"></a>}</code></pre>
</div>
</li>
</ol>
<h2 id="references">References</h2>
<ol class="incremental" type="1">
<li><a href="https://drafts.csswg.org/selectors-4/#attribute-selectors">CSS Attribute Selectors</a></li>
</ol>
<div class="prev">
<p><a href="https://complete-concrete-concise.com/tutorials/webdev/front-end-basics/css-combinators-advanced-css-selectors-part-3/">Prev</a></p>
</div>
<div class="next">
<p><a href="#">Next</a></p>
</div>
<div class="clear"></div>
<section class="footnotes">
<hr />
<ol>
<li id="fn1">This will be covered in a future tutorial. Essentially, language tags allow on to specify the primary language and a subset of that language. For example: <strong>en</strong> specifies the English language, <strong>en-ca</strong> specifies Canadian English, <strong>en-nz</strong> specifies New Zealand English, etc.<a class="footnote-back" href="#fnref1">↩</a></li>
<li id="fn2">This does not work with all browsers. It does not work with Internet Explorer, Microsoft Edge version 18 or lower, Android Browser (Android version 4.4 or earlier). A good site to check if a particular HTML or CSS feature is supported is <a href="https://caniuse.com/">Can I Use</a>.<a class="footnote-back" href="#fnref2">↩</a></li>
<li id="fn3">Yes, it is a lot of rules.<a class="footnote-back" href="#fnref3">↩</a></li>
<li id="fn4">I pulled the CSS from the main landing pages of the following:
<ul class="incremental">
<li>BBC,</li>
<li>Engadget,</li>
<li>The Verge,</li>
<li>Wikipedia,</li>
<li>WordPress</li>
</ul>
<p><a class="footnote-back" href="#fnref4">↩</a></li>
<li id="fn5">Take these numbers as a rough guide to their relative use.<a class="footnote-back" href="#fnref5">↩</a></li>
<li id="fn6">There is plenty in the CSS Styling that you haven’t seen &#8211; but they will be covered in future tutorials.<a class="footnote-back" href="#fnref6">↩</a></li>
</ol>
</section>
<p>The post <a href="https://complete-concrete-concise.com/tutorials/webdev/front-end-basics/attribute-selectors-advanced-css-selectors-part-4/">Attribute Selectors &#8211; Advanced CSS Selectors &#8211; Part 4</a> appeared first on <a href="https://complete-concrete-concise.com">Complete, Concrete, Concise</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
