CSS: Change parent on focus of child CSS: Change parent on focus of child angularjs angularjs

CSS: Change parent on focus of child


You can now do this in pure CSS, so no JavaScript needed 😁

The new CSS pseudo-class :focus-within would help for cases like this and will help with accessibility when people use tabbing for navigating, common when using screen readers.

.parent:focus-within {  border: 1px solid #000;}

The :focus-within pseudo-class matches elements that either themselvesmatch :focus or that have descendants which match :focus.


Can I use...

You can check which browsers support this by visiting http://caniuse.com/#search=focus-within


Demo

fieldset {  padding: 0 24px 24px !important;}fieldset legend {  opacity: 0;  padding: 0 8px;  width: auto;}fieldset:focus-within {  border: 1px solid #000;}fieldset:focus-within legend {  opacity: 1;}
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet" /><div class="container">  <form>    <fieldset>      <legend>Parent Element</legend>      <div class="form-group">        <label for="name">Name:</label>        <input class="form-control" id="name" placeholder="Enter name">      </div>      <div class="form-group">        <label for="email">Email:</label>        <input type="email" class="form-control" id="email" placeholder="Enter email">      </div>    </fieldset>  </form></div>