The :target CSS pseudo-class represents a unique element (the target element) with an id matching the URL's fragment.
/* Selects an element with an ID matching the current URL's fragment */
:target {
  border: 2px solid black;
}
For example, the following URL has a fragment (denoted by the # sign) that points to an element called section2:
http://www.example.com/index.html#section2
The following element would be selected by a :target selector when the current URL is equal to the above:
<section id="section2">Example</section>
Syntax
:target
Examples
Basic example
HTML
<ol> <li><a href="#p1">Jump to the first paragraph!</a></li> <li><a href="#p2">Jump to the second paragraph!</a></li> <li><a href="#nowhere">This link goes nowhere, because the target doesn't exist.</a></li> </ol> <p id="p1">You can target <i>this paragraph</i> using a URL fragment. Click on the link above to try out!</p> <p id="p2">This is <i>another paragraph</i>, also accessible from the links above. Isn't that delightful?</p></pre>
CSS
:target {
  box-shadow: 0 0 2px gray;
}
/* You can use pseudo-elements inside a target element */
:target::before {
  font: 70% sans-serif;
  content: "►";
  color: gray;
  margin-right: .25em;
}
/* You can apply special styles to elements within a target element */
:target i {
  color: orange;
}
Result
Pure-CSS lightbox
Note: A more complete pure-CSS lightbox based on the 
:target pseudo-class is available on GitHub (demo).HTML
<ul>
  <li><a href="#example1">Open example #1</a></li>
  <li><a href="#example2">Open example #2</a></li>
</ul>
<div class="lightbox" id="example1">
  <figure>
    <a href="#" class="close"></a>
    <figcaption>Lorem ipsum dolor sit amet, consectetur adipiscing elit.
      Donec felis enim, placerat id eleifend eu, semper vel sem.</figcaption>
  </figure>
</div>
<div class="lightbox" id="example2">
  <figure>
    <a href="#" class="close"></a>
    <figcaption>Cras risus odio, pharetra nec ultricies et,
      mollis ac augue. Nunc et diam quis sapien dignissim auctor.
      Quisque quis neque arcu, nec gravida magna.</figcaption>
  </figure>
</div>
CSS
/* Unopened lightbox */
.lightbox {
  display: none;
}
/* Opened lightbox */
.lightbox:target {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
/* Lightbox content */
.lightbox figcaption {
  width: 25rem;
  position: relative;
  padding: 1.5em;
  background-color: lightpink;
}
/* Close button */
.lightbox .close {
  position: relative;
  display: block;
}
.lightbox .close::after {
  right: -1rem;
  top: -1rem;
  width: 2rem;
  height: 2rem;
  position: absolute;
  display: flex;
  z-index: 1;
  align-items: center;
  justify-content: center;
  background-color: black;
  border-radius: 50%;
  color: white;
  content: "×";
  cursor: pointer;
}
/* Lightbox overlay */
.lightbox .close::before {
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  position: fixed;
  background-color: rgba(0,0,0,.7);
  content: "";
  cursor: default;
}
Result
Specifications
| Specification | Status | Comment | 
|---|---|---|
| WHATWG HTML Living Standard The definition of ':target' in that specification. | Living Standard | Defines HTML-specific semantics. | 
| Selectors Level 4 The definition of ':target' in that specification. | Working Draft | No changes. | 
| Selectors Level 3 The definition of ':target' in that specification. | Recommendation | Initial definition. | 
Browser compatibility
| Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari | 
|---|---|---|---|---|---|---|
| Basic support | 1.0 | (Yes) | 1.0 (1.7 or earlier) | 9 | 9.5 | 1.3 | 
| Feature | Android | Edge | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile | 
|---|---|---|---|---|---|---|
| Basic support | 2.1 | (Yes) | 1.0 (1.7 or earlier) | 9.0 | 9.5 | 2.0 | 
See also
Document Tags and Contributors
    
    Tags: 
    
  
                    
                       Contributors to this page: 
        chrisdavidmills, 
        madmurphy, 
        mfluehr, 
        erikadoyle, 
        Sebastianz, 
        Tigt, 
        cvrebert, 
        teoli, 
        jwhitlock, 
        MusikAnimal, 
        dbruant, 
        TylerH, 
        KyliRouge, 
        kscarfone, 
        JSONBellamy, 
        ethertank, 
        Sheppy, 
        fusionchess, 
        McGurk, 
        jswisher, 
        leaverou, 
        fl0rian, 
        Jürgen Jeka, 
        j.j.
                    
                    
                       Last updated by:
                      chrisdavidmills,