Utilise :focus-within to have more visual emphasis on the part of an element that has a focused element.
DEMO
HTML
<fieldset> <legend>Step 1</legend> <div> <label for="q_1">Answer 1:</label> <input id="q_1" /> </div> <div> <label for="q_2">Answer 2:</label> <input id="q_2" /> </div> </fieldset> <fieldset> <legend>Step 2</legend> <div> <label for="q_3">Answer 3:</label> <input id="q_3" /> </div> <div> <label for="q_4">Answer 4:</label> <input id="q_4" /> </div> </fieldset>
CSS
fieldset{ margin: 0 20px 20px; background: #eee; border-radius: 3px; border: solid 1px #aaa; position: relative; transition: all 0.2s; } fieldset::before { content: '\1F6A9'; font-size: 24px; position: absolute; right: 10px; top: -5px; transition: all 0.2s; opacity: 0; transform: translateX(-20px); } legend { margin-left: 8px; text-transform: uppercase; color: #555; font-size: 80%; letter-spacing: 0.5px; } input { margin-left: 1em; padding: 0.2em 0.5em; border: solid 1px #999; width: calc(100% - 130px); } input:focus { outline: none; border-color: Crimson; box-shadow: 0 0 1px 1px #1389fd; } div { margin: 0.5em; } fieldset:focus-within { background: Cornsilk; transform: scale(1.02); } fieldset:focus-within::before { opacity: 1; transform: translateX(0px); }
Comments
Post a Comment