рдирдорд╕реНрдХрд╛рд░, рд╣реЗрдмреНрд░! рдореИрдВ рдЖрдкрдХреЛ Stas Melnikov рджреНрд╡рд╛рд░рд╛
HTML рдФрд░ CSS рд▓рд┐рдЦрддреЗ рд╕рдордп "
6 рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдЧрд▓рддрд┐рдпреЛрдВ рд╡рд╛рд▓реЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ " рд▓реЗрдЦ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реВрдВред
рд▓реЗрдмрд▓ рддрддреНрд╡ рдХреЗ рдмрдЬрд╛рдп рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рдЕрдХреНрд╕рд░, рдбреЗрд╡рд▓рдкрд░ рд▓реЗрдмрд▓ рддрддреНрд╡ рдХреЗ рдмрдЬрд╛рдп рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕реНрдХреНрд░реАрди рд░реАрдбрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ (рд╕реНрдХреНрд░реАрди рд░реАрдбрд░) рдЦреЗрддреЛрдВ рдореЗрдВ рдирд╣реАрдВ рднрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╕реНрдХреНрд░реАрди рд░реАрдбрд░ рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╕реЗ рдкрд╛рда рдирд╣реАрдВ рдкрдврд╝ рд╕рдХрддрд╛ рд╣реИред
<input type="email" placeholder="Enter your email">
рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдирд╛рдо рдлрд╝реАрд▓реНрдб рдФрд░ рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░ рд╡рд┐рд╢реЗрд╖рддрд╛ рдЙрджрд╛рд╣рд░рдг рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рд▓реЗрдмрд▓ рддрддреНрд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ рдЬрд┐рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рднрд░рдирд╛ рд╣реЛрдЧрд╛ред
<label> <span>Enter your email</span> <input type="email" placeholder="eg example@gmail.com"> </label>
рд╕рдЬрд╛рд╡рдЯреА рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдмрд┐рдЫрд╛рдиреЗ рдХреЗ рд▓рд┐рдП img рддрддреНрд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рдореИрдВ рдЕрдХреНрд╕рд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рд╕рд╛рдордЧреНрд░реА рдЪрд┐рддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рд╕рдЬрд╛рд╡рдЯреА рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХреЛ рднреНрд░рдорд┐рдд рдХрд░рддреЗ рд╣реБрдП рджреЗрдЦрддрд╛ рд╣реВрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡реЗ img рддрддреНрд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд╛рдорд╛рдЬрд┐рдХ рдЪрд┐рд╣реНрди рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддреЗ рд╣реИрдВред
<a href="https://twitter.com" class="social"> <img class="social__icon" src="twitter.svg" alt> <span class="social__name">Twitter</span> </a>
рд▓реЗрдХрд┐рди рд╕реЛрд╢рд▓ рдиреЗрдЯрд╡рд░реНрдХ рдЖрдЗрдХрди рдПрдХ рд╕рдЬрд╛рд╡рдЯреА рдЖрдЗрдХрди рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдкрд╛рда рдХреЛ рдкрдврд╝реЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рддрддреНрд╡ рдХреЗ рдЕрд░реНрде рдХреЛ рдЬрд▓реНрджреА рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рд╣рдо рдЖрдЗрдХрди рдХреЛ рд╣рдЯрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рддрддреНрд╡ рдХрд╛ рдореВрд▓реНрдп рдирд╣реАрдВ рдЦреЛрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕рдХреЗ рд▓рд┐рдП рдкреГрд╖реНрдарднреВрдорд┐-рдЫрд╡рд┐ рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
<a href="https://twitter.com" class="social"> <span class="social__name">Twitter</span> </a>
.social::before { background-image: url("twitter.svg"); }
рд░рд┐рд╕рд╛рдЗрдЬрд╝ рдкреНрд░реЙрдкрд░реНрдЯреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рдЬрдм рд░рд┐рд╕рд╛рдЗрдЬрд╝ рдкреНрд░реЙрдкрд░реНрдЯреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЯреЗрдХреНрд╕реНрдЯ рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдЖрдХрд╛рд░ рдмрджрд▓рдирд╛ рдЕрдХреНрд╖рдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдПрдХреНрд╕реЗрд╕рд┐рдмрд┐рд▓рд┐рдЯреА рдЦрд╝рд░рд╛рдм рд╣реЛ рдЬрд╛рддреА рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрд░реАрдХреЗ рд╕реЗ рдбреЗрдЯрд╛ рджрд░реНрдЬ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
textarea { width: 100%; height: 200px; resize: none; }
рдЖрдк рдЧреБрдг-рдЪреМрдбрд╝рд╛рдИ, рдЕрдзрд┐рдХрддрдо-рдЪреМрдбрд╝рд╛рдИ, рдиреНрдпреВрдирддрдо-рдКрдБрдЪрд╛рдИ рдФрд░ рдЕрдзрд┐рдХрддрдо-рдКрдБрдЪрд╛рдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рддрддреНрд╡ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрд░реАрдХреЗ рд╕реЗ рдлрд╝реАрд▓реНрдб рднрд░ рд╕рдХрддрд╛ рд╣реИред
textarea { min-width: 100%; max-width: 100%; min-height: 200px; max-height: 400px; }
рдкреНрд░рджрд░реНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛: рдмреНрд▓реЙрдХ рдФрд░ рд╕реНрдерд┐рддрд┐: рдПрдХ рд╕рд╛рде рдкреВрд░реНрдг (рдирд┐рд╢реНрдЪрд┐рдд)ред
рдореИрдВ рдЕрдХреНрд╕рд░ рджреЗрдЦрддрд╛ рд╣реВрдВ рдХрд┐ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдкреНрд░рджрд░реНрд╢рди рдФрд░ рд╕реНрдерд┐рддрд┐ рдЧреБрдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ:
.button::before { content: ""; display: block; position: absolute; top: 0; left: 0; }
рд▓реЗрдХрд┐рди рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдмреНрд▓реЙрдХ рд╡реИрд▓реНрдпреВ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЖрдкрдХреЛ рдкреВрд░реНрдг рдпрд╛ рдирд┐рд╢реНрдЪрд┐рдд рд╕реНрдерд┐рддрд┐ рд╡рд╛рд▓реЗ рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдорд╛рди рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдирд┐рдореНрди рдХреЛрдб рдкрд┐рдЫрд▓реЗ рдПрдХ рдХреЗ рд╕рдорд╛рди рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИред
.button::before { content: ""; position: absolute; top: 0; left: 0; }
рд╕рдВрд░рдЪрдирд╛ рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдХреЛрдИ рдореВрд▓реНрдп рдирд╣реАрдВ
рдореИрдВ рдХреАрдмреЛрд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдореИрдВ рд▓рд┐рдВрдХ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдореИрдВ рдкрдВрдЬреАрдХрд░рдг рдирд╣реАрдВ рдХрд░рд╛ рд╕рдХрддрд╛ред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдбреЗрд╡рд▓рдкрд░реНрд╕ рддрддреНрд╡реЛрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬрдм рд╡реЗ рдЖрдЙрдЯрд▓рд╛рдЗрди рдкреНрд░реЙрдкрд░реНрдЯреА рдореЗрдВ рдХреЛрдИ рднреА рдирд╣реАрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред
.button:focus { outline: none; } .button:focus { outline: 0; }
рдпрджрд┐ рдЖрдкрдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдлрд╝реЛрдХрд╕ рдмрдВрдж рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рд╡реИрдХрд▓реНрдкрд┐рдХ рдлрд╝реЛрдХрд╕ рдХреА рд╕реНрдерд┐рддрд┐ рдмрдирд╛рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВред
.button:focus { outline: none; box-shadow: 0 0 3px 0 blue; }
рдЦрд╛рд▓реА рдЖрдЗрдЯрдо
рдЕрдХреНрд╕рд░, рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реНрдЯрд╛рдЗрд▓ рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдЦрд╛рд▓реА HTML рддрддреНрд╡реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЦрд╛рд▓реА div рдпрд╛ рд╕реНрдкреИрди рддрддреНрд╡реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣реИрдордмрд░реНрдЧрд░ рдореЗрдиреВ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдирд╛:
<button class="hamburger"> <span></span> <span></span> <span></span> </button>
.hamburger { width: 60px; height: 45px; position: relative; } .hamburger span { width: 100%; height: 9px; background-color: #d3531a; border-radius: 9px; position: absolute; left: 0; } .hamburger span:nth-child(1) { top: 0; } .hamburger span:nth-child(2) { top: 18px; } .hamburger span:nth-child(3) { top: 36px; }
рд▓реЗрдХрд┐рди рдЖрдк рдЫрджреНрдо рддрддреНрд╡реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ :: рдкрд╣рд▓реЗ рдФрд░ рдмрд╛рдж рдореЗрдВ рдФрд░ рдЗрд╕реА рддрд░рд╣ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред
<button class="hamburger"> <span class="hamburger__text"> <span class="visually-hidden">Open menu</span> </span> </button>
.hamburger { width: 60px; height: 45px; position: relative; } .hamburger::before, .hamburger::after, .hamburger__text::before { content: ""; width: 100%; height: 9px; background-color: #d3531a; border-radius: 9px; position: absolute; left: 0; } .hamburger::before { top: 0; } .hamburger::after { top: 18px; } .hamburger__text::before { top: 36px; } .visually-hidden { position: absolute !important; clip: rect(1px, 1px, 1px, 1px); width: 1px !important; height: 1px !important; overflow: hidden; }