๊ตฌ๊ธ ์น์ฌ์ดํธ๋ฅผ ๋ง๋ค๊ธฐ ์์ ๋จผ์ ํ์ด์ง์ ๊ตฌ์ญ์ ๋๋ ๋ณด๋ผ๊ณ ํ์ จ๋ค.
์ด๋ ๊ฒ ์ธ ๊ตฌ์ญ์ผ๋ก ๋๋๋๊ฒ ์ ์ผ ์ ์์ธ ๊ฒ ๊ฐ๋ค..
๊ฐ์ฌ๋์ ๊ตฌ๊ธํ๋ฉด๊ณผ๋ ๋ฌ๋ฆฌ ๋ ๋คํฌ๋ชจ๋๋ฅผ ์ฌ์ฉํ๊ณ ์์ด์
ํ๋ฒ ๋คํฌ๋ชจ๋๋ก ๋ง๋ค์ด๋ณด๊ธฐ๋ก ํ๋ค...^^
WCAG - Contrast Checker
Check the contrast of your color design for accessibility base on Web Content Accessibility Guideline (WCAG)
contrastchecker.com
๋คํฌ๋ชจ๋ ์๊น ์์ก์๋์ง ํ์ธํด์ฃผ๋ ์ฌ์ดํธ.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link href = "4-1style.css" rel="stylesheet" type="text/css"/>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.2.0/css/all.min.css" integrity="sha512-6c4nX2tn5KbzeBJo9Ywpa0Gkt+mzCzJBrE1RB6fmpcsoN+b/w/euwIMuQKNyUoU/nToKN3a8SgNOtPrbW12fug==" crossorigin="anonymous" />
</head>
<body>
<div class = "container">
<div class="header">
<div class = "header-left">
<a href="https://about.google/?fg=1&utm_source=google-KR&utm_medium=referral&utm_campaign=hp-header">Google ์ ๋ณด</a>
<a href="https://store.google.com/KR?utm_source=hp_header&utm_medium=google_ooo&utm_campaign=GS100042&hl=ko-KR">์คํ ์ด</a>
</div>
<div class = "header-right">
<a href="https://mail.google.com/mail/?authuser=0&ogbl">Gmail</a>
<a href="https://www.google.co.kr/imghp?hl=ko&authuser=0&ogbl">์ด๋ฏธ์ง</a>
<a href="#"><i class="fas fa-ellipsis-v"></i></a>
<a><img id = "profile-icon" src="quokka.jpg"/></a>
</div>
</div>
<div class="content">
<img src="google-w.png" style="width : 272px; height:92px;"/>
<div class = "search">
<i class="fas fa-search" style = "font-size: 14px;"></i>
<input type="text"/>
<i class="far fa-keyboard"></i>
<i class="fas fa-microphone"></i>
</div>
<div class = "content-btn">
<input type="button" value = "Google ๊ฒ์"/>
<input type="button" value = "I'm Feeling Lucky"/>
</div>
</div>
<div class="footer">
<div class = "footer-line" style = "border-bottom : 1px solid #212327; justify-content: flex-start;">๋ํ๋ฏผ๊ตญ</div>
<div class = "footer-line">
<div class = "footer-box">
<a href="https://www.google.co.kr/intl/ko_kr/ads/?subid=ww-ww-et-g-awa-a-g_hpafoot1_1!o2&utm_source=google.com&utm_medium=referral&utm_campaign=google_hpafooter&fg=1">๊ด๊ณ </a>
<a href="https://www.google.co.kr/services/?subid=ww-ww-et-g-awa-a-g_hpbfoot1_1!o2&utm_source=google.com&utm_medium=referral&utm_campaign=google_hpbfooter&fg=1">๋น์ฆ๋์ค</a>
<a href="https://google.com/search/howsearchworks/?fg=1">๊ฒ์์ ์๋ฆฌ</a>
</div>
<div class = "footer-box">
<a href="https://policies.google.com/privacy?hl=ko&fg=1">๊ฐ์ธ์ ๋ณด์ฒ๋ฆฌ๋ฐฉ์นจ</a>
<a href="https://policies.google.com/terms?hl=ko&fg=1">์ฝ๊ด</a>
<a href="#">์ค์ </a>
</div>
</div>
</div>
</div>
</body>
</html>
cssํ์ผ์ ๊ฐ์ด ์ ๊ธดํ๋๋ฐ css ๊ฐ์๋ค ๋ค์ผ๋ฉด์ ์ข ์ถ๊ฐํด์ผํ ๊ฒ ์์ด์
์๋์ ์ ์ด์ผ์ง.
์๋ฌดํผ!
html ์ฝ๋์ li, ul์ ์ฌ์ฉ ์ํ๋๋ฐ css์ ์๋ ์ด์ ๋ ์ฌ์ฉํ๋ ค๊ณ ์ผ๋ค๊ฐ ๋ญ๊ฐ ์๋๋ ๊ฒ ๊ฐ์์ ๊ทธ๋ฅ div๋ก ๋์ฐ๊ณ ์๋จ ์ง์ ๊ธฐ๋๋ฌธ...ใ
๋ง๋ค๊ณ ๋์ ๊ทธ ๋ค์์ ๊ฐ์ฌ๋์ด๋ ํจ๊ป ์ฝ๋์์ฑํ๊ธฐ~๊ฐ ๋์ค๋๋ฐ ๊ทธ๊ฑธ ์๋ณด๊ณ ์ผ๋จ ๋ง๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ cdn์ ์ข ๋ค๋ฅผ ์ ์๋ค.. ๋ธ๋ก๊ทธ ๋ณต๋ถํ๊ฑฐ๋ผ
cdn์ ๋งจ๋ ํ๋ฌ๊ทธ์ธ ๋ค์ด๋ฐ๊ธฐ ๊ท์ฐฎ์๋ ๋ณต๋ถํ๋๊ฑฐ๋ผ ๊ทธ๋ฌ๋ ค๋ ํ๋๋ฐ ์ข ์์ธํ ์ค๋ช ์ด ์๊ธธ๋ ์ฌ๊ธฐ์๋ ๋ถ์ฌ๋ฃ๊ธฐํด์ผ์ง.
CDN (Content Delivery Network)์ด๋?
CDN(์ฝํ ์ธ ์ ์ก ๋คํธ์ํฌ)์ ์ง๋ฆฌ์ ์ผ๋ก ๋ถ์ฐ๋ ์ฌ๋ฌ ๊ฐ์ ์๋ฒ์ ๋๋ค. ์น ์ฝํ ์ธ ๋ฅผ ์ฌ์ฉ์์ ๊ฐ๊น์ด ๊ณณ์์ ์ ์กํจ์ผ๋ก์จ ์ ์ก ์๋๋ฅผ ๋์ ๋๋ค. ์ ์ธ๊ณ ๋ฐ์ดํฐ์ผํฐ๋ ํ์ผ ๋ณต์ฌ๋ณธ์ ์์๋ก ์ ์ฅํ๋ ํ๋ก์ธ์ค์ธ ์บ์ฑ์ ์ฌ์ฉํฉ๋๋ค. ๋ฐ๋ผ์ ์ฌ์ฉ์๋ ๊ฐ๊น์ด ์๋ฒ๋ฅผ ํตํด ์น ํ์ฑํ ๋๋ฐ์ด์ค ๋๋ ๋ธ๋ผ์ฐ์ ์์ ์ธํฐ๋ท ์ฝํ ์ธ ์ ๋น ๋ฅด๊ฒ ์ ์ํ ์ ์์ต๋๋ค. CDN์ ์น ํ์ด์ง, ์ด๋ฏธ์ง, ๋น๋์ค ๋ฑ์ ์ฝํ ์ธ ๋ฅผ ์ฌ์ฉ์์ ๋ฌผ๋ฆฌ์ ์์น์ ๊ฐ๊น์ด ํ๋ก์ ์๋ฒ์ ์บ์ฑํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์ฝํ ์ธ ๊ฐ ๋ก๋ฉ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆด ํ์ ์์ด ์ํ ๊ฐ์, ์ํํธ์จ์ด ๋ค์ด๋ก๋, ์ํ ์๊ณ ํ์ธ, ์์ ๋ฏธ๋์ด ํฌ์คํ , ๊ตฌ๋งค ๋ฑ์ ์์ ์ ํ ์ ์์ต๋๋ค.
CDN์ ๋ง์น ATM์ฒ๋ผ ์๊ฐํด๋ ์ข์ต๋๋ค. ์ฌ๋ฌ ๊ณณ์ ATM์ ์ค์นํด ๋์ผ๋ฉด ์ฌ์ฉ์๊ฐ ๋น ๋ฅด๊ณ ํจ์จ์ ์ผ๋ก ํ๊ธ์ ์ฐพ์ ์ ์์ต๋๋ค. ์ํ์์ ๊ธด ์ค์ ์์ ๊ธฐ๋ค๋ฆด ํ์ ์์ด ๊ฐ๊น์ด ๊ณณ์ ์๋ ATM์ ๋ฐ๋ก ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ด๊ฑฐ ํ๋ ๋ง๋๋๋ฐ ๋๋ฌด ์ค๋ํ๊ฑด๊ฐ ๋ชจ๋ฅด๊ฒ ๋๋ฐ... ๊ฑฐ์ 4์๊ฐ์ ๊ฑธ๋ฆฐ๊ฒ๊ฐ๋ค... ใท
f12๋ก ๊ตฌ๊ธ์์๋ ๊ฐ์ด๋ฐ ๋ถ๋ถ์ ์ฒ์๋ถํฐ 3๋ฑ๋ถํ๊ณ ์์ํ๋ค. ์ฆ ์ค์ ๋ก 5๋ฑ๋ถ์ผ๋ก ์์ํ๋ ๋ด๊ฐ ์์์ ์ผ๋ก ์ด๋ป๊ฒ๋ ๋ง์ถ์ง ์๋ ์ด์ ํฌ๊ธฐ๊ฐ ๋ค๋ฅธ๋ฏํ๋ค. (๋์ฒ๋ผ ์ค์ ์์ ๋ 3๋ฑ๋ถ ์์ด ์๋.)
๊ฐ์๋ฅผ ๋ณด๋ฉด์ ๊ฐ์ฌ๋ ์ฝ๋๋ ๋น๊ตํด๋ณด๋๋ฐ
๋๋ input type = "button" ํ๋๋ฐ ๊ทธ๋ฅ <button>์ผ๋ก ํด๋ ์ ํ ์๊ด์๋๋ฏ...
๊ทธ๋ฆฌ๊ณ ์ ์ด์ ๊ตฌ๊ธ ํ๋ฉด๋ถํฐ๊ฐ ์ข ๋ฌ๋๋ค ๋คํฌ๋ชจ๋๋นผ๊ณ ๋ใ ใ ใ ใ ใ ใ ใ
๊ทธ๋ฆฌ๊ณ ๋๋ footer์์ div ํ๊ทธ์ ํด๋์ค๋ฅผ ์ถ๊ฐํด์ display : flex๋ก ํ๋๋ฐ
๊ฐ์ฌ๋์ <span>ํ๊ทธ๋ฅผ ์ด์ฉํด ๊ทธ๋ฅ ์ผ์ง์ ์ผ๋ก ์ถ๋ ฅํ๋ค.
--
css ๋ถ๋ถ์ ํ๋ฃจ ์ง๋์ ๋ฃ๊ณ ์๋๋ฐ
๋ด๊ฐ ์ฐ๋ค๊ฐ ๋นผ๋จน์ ๋ถ๋ถ๋ค์ด ์์๋ค.
์ ์ด๋ฏธ์ง์ฒ๋ผ hover์์๋ ๋ค์ underline์ด ์๊ฒผ๋ค๊ฐ unhover์์๋ ์์ด์ง๋ ์ด๋ฒคํธ..
์ด๊ฑฐ๋ ๊ฐ๋จํ๋ค.
์ด ๋ถ๋ถ์ ๋ด์ฝ๋์์๋ .header ํด๋์ค์ aํ๊ทธ๋ค์ด๋ฏ๋ก
.header a:hover {
text-decoration: underline;
}
์ด์ ๊ฐ์ ์ฝ๋๋ฅผ ์ถ๊ฐํด์ฃผ๋ฉด ๋๋ค. ๊ทผ๋ฐ ๋งจ๋ none ์ผ๋ก๋ง ํ๋ค๊ฐ underline์ ์ฒ์ ์จ๋ณด๋ ค๋ ์ ๊ธฐํ๋๋ผ...ใ ใ
์ด ๋ .header:hover๋ก ์ฐ๋ฉด...
์ด๋ฐ์ผ์ด ์ผ์ด๋๋ ์ฃผ์ํ์...
๊ทผ๋ฐ ๊ตฌ๊ธ ์ฌ์ดํธ๋ฅผ ๊ฐ๋ฐ์๋๊ตฌ๋ก ๋ณด๋ฉด์ ๋๋๊ฑด
์ฝ๋๋ฅผ ์ ๋ง ํจ์จ์ ์ผ๋ก ์ฐ๊ณ ์๋๋ผ.. ๊ดํ ๊ตฌ๊ธ์ ์ ์ฌํ๊ฒ ์๋๋ฏํ๋ค.
์๋ฅผ ๋ค์ด flex-shirink = 0;์ ์ ์ฉํ๊ณ ์ถ์ ๋ถ๋ถ์ด ์ฌ๋ฌ๊ฐ๋ผ๋ฉด ํด๋์ค๋ฅผ ๋ง๋ค์ด ์ด์ ํด๋นํ๋ ์์ฑ๋ค์ ๋ง ๋ถ์ฌ์ด๋ค.
์๋ฅผ ๋ค๋ฉด <div class = "classA classB classC"></div> ๋ญ ์ด๋ฐ์์ผ๋ก...
๊ทผ๋ฐ ํด๋์ค ์ด๋ฆ๋ค์ด ํ๋๊ฐ์ด ๊ดด์ํด์ ์ฒ์์ ๋ฏ์ด๋ณผ๋ ๊ฒฝ์ ํ๋ค..
๊ทธ๋ฆฌ๊ณ ํ๋๋ ๊ฒ์์ฐฝ ์๋์ ์๋ ๋ฒํผ ๋๊ฐ์ ์๋ hover ์ด๋ฒคํธ๋ค์ด๋ค.
f12 ๋๋ฌ๋๊ณ ๊ณ์ ๋ฒํผ์ ์ค์ hover ์ ์ฝ๋๋ค์ ์ซ์ซ๋ฐ๋ฆฌ๋ก ํ์ธํ๊ธฐ๊ฐ ํ๋๋
์ด๋ด ๋ ์ง์ ์ฌ๋ ค๋์ง ์๋๋ผ๊ณ :hover ์ ์คํ๋๋ ์ฝ๋๋ค์ ํ์ธํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์๋ค.
์๋ฌดํผ ์ ๋ฒํผ๋ค์์ ๋ง์ฐ์ค๋ฅผ ์ฌ๋ ค๋์ผ๋ฉด
์ด ์ฝ๋๋ค์ด ์คํ๋๋ค๋ ๊ฒ์ด๋ค.
์ด๋ฅผ .content btn input:hover {} ์์ ์ฎ๊ฒจ์ ๊ณ ์๋ก๊ณ ์นจํ๋ฉด
hoverํ๋ฉด ์ด์ ๋๊ฐ์ ์ด๋ฒคํธ๊ฐ ์๊ธด๋ค.
๊ทธ๋ฆฌ๊ณ ๋ง์ง๋ง์ผ๋ก ๊ฒ์์ฐฝ์์ ํ ์คํธ๋ฅผ ์ ๋ ฅํ๋ ค๊ณ ํด๋ฆญํ์ ๋ ์๊ธฐ๋ ํ ๋๋ฆฌ๊ฐ ์์๋ค.
.search input:focus {
outline:none;
}
ํด๋ฆญ ์ ์ค๊ณฝ ์์ฒด๋ฅผ ์์ ์ฃผ๋ ์ฝ๋๋ฅผ ์ถ๊ฐํ๋ฉด ๋!
์์ด์ฝ์ ๋์ ํ์ผ๋ก ํ ์ ์๋ ๊ฒ์ด๋....
๋ญ ์ด์ธ์๋ ๊ฐ์์์๋ position : relative, absolute, display : inline-block; ๋ฑ์ ๋ค์ํ๊ฒ์ผ์ง๋ง
๋ flex์ ๋ง์ ์์๋ฒ๋ ค์ ์ด์ ์ฌ๊ธฐ์ ํค์ด๋์ฌ ์ ์๋ค.(ํ๋ชจ์๋..)
๋ฌด์กฐ๊ฑด display : flex๋ก ๊ฐ๋ฅํ๋งํผ ์ต๋ํ ํ๋์ค...
๊ทธ๋ ๊ฒํด์ ์ต์ข css ์ฝ๋๋ค์...
*{
font-family: 'Noto Sans KR', sans-serif;
}
html, body{
margin : 0;
padding : 0;
height : 100%;
overflow : hidden;
background-color: #202124;
}
ul, li {
list-style: none;
}
p, a {
color:#fff;
text-decoration:none;
}
/* ์ปจํ
์ด๋ */
.container {
display : flex;
flex-direction: column;
height : 100%;
}
/* header */
.header {
width: 100%;
height : 48px;
margin-left: auto;
margin-right: auto;
display : flex;
justify-content: space-between;
align-items: center;
padding : 6px;
}
.header a {
font-size : 13px;
margin : 0 10px;
display : inline-block;
}
.header a:hover {
text-decoration: underline;
}
.header > div {
display : flex;
align-items: center;
}
.header-left {
margin-left:10px;
}
.header-left a{
color : #bdc1c6 !important;
font-size : 14px !important;
}
.header-right {
right : 0;
margin-right : 10px;
}
#profile-icon {
border-radius:50%;
width : 32px;
height : 32px;
}
/* content */
.content {
display : flex;
flex-grow: 1;
flex-direction: column;
justify-content: center;
align-items: center;
}
.content > div {
margin : 20px;
}
/* search */
.search {
border : 1px solid #5f6368;
border-radius: 24px;
box-shadow: none;
display : flex;
justify-content: space-between;
align-items: center;
width : 90%;
max-width: 584px;
height : 44px;
z-index: 3;
padding : 0 5px;
}
.search i {
font-size: 15px;
color : #5f6368;
margin : 10px 15px;
}
.search input {
width : 100%;
color : #fff;
font-size: 16px;
word-wrap: break-word;
z-index: 10;
background-color: transparent;
-webkit-tap-highlight-color: transparent;
border: none;
text-shadow: none;
}
.search input:focus {
outline:none;
}
/* content-button */
.content-btn input{
background-color: #303134;
border: 1px solid #303134;
color : #e8eaed;
font-size : 14px;
margin : 0 4px;
padding : 0 16px;
height : 36px;
line-height: 27px;
border-radius: 5px;
cursor: pointer;
font-weight: 500;
}
.content-btn input:hover {
box-shadow : 0 1px 3px rgb(23 23 23 / 24%);
background-color: 303134;
border : 1px solid #5f6368;
color : #e8eaed;
}
/* footer */
.footer {
font-size : 15px;
background-color: #171717;
bottom : 0;
}
.footer-line {
display: flex;
justify-content: space-evenly;
color : #9aa0a6 !important;
padding : 15px 30px;
}
.footer-line a {
color : #9aa0a6 ;
}
.footer-box a{
white-space: nowrap;
font-size: 14px;
padding : 15px;
}
์๋ฌดํผ ์์ ์ ๋นํด์ ๋ด ์ฝ๋๋ค์ด ๊ฐ ์๋ก ๊น๋ํด์ง๊ณ
์ฒ์์ ๋ฒ๊ฑฐ์ ์ด๋ ํ ์๋ก ๊ธฐ๋ณธ๊ธฐ๊ฐ ํํํด์ง๋ ๋๋์ด ๋ค์๋๋ฐ
์ค์ ๊ตฌ๊ธ์ ํ์ด์ง ์์ค๋ค์ ๋ณด๋ฉด ์ ํ ์ดํด๋ชปํ๋ ๋ถ๋ถ์ด ํ๊ฐ๋... ์์ง ํ์ฐธ ๋ชจ์๋ ์คํฌ๋ฆฝํธ ๋ถ๋ถ์ด ๋๋ถ๋ถ์ด์ง๋ง
svg๋ก ์ฝ๋๋ฅผ ์ด์ฉ๊ตฌ์ ์ฉ๊ตฌ ์์ฑํด์ ์์ด์ฝ์ ๋ง๋ค๋๋ฐ ์ ์ ์๋ ์ซ์๋ค๋ง ๋ณด์ด๋๊ฑธ๋ณด๋ฉด ์น๋์์ธ์ชฝ๋ ์ ๋ง ํ์ฐธ ๋ฉ์๋ค.
๊ทธ๋ฆฌ๊ณ ๋ฌด์๋ณด๋ค ํด๋์ค๋ค์ ๊น๋ํ๊ฒ ์ ๋ฆฌํด์ ์ฌ์ฉํ๋ ๊ฒ.
๊ทธ๊ฒ ๋ด๊ฐ ์ถ๊ตฌํ๊ณ ์ถ์ ์ฝ๋๋ค์ธ๋ฐ ์ด๊ฒ๋ ํ์ฐธ ๋จ์๋ค..
์ด์ฌํ ํด์ผ์ง
+ ๊ฐ์ฌ๋ ์ฝ๋ : https://google-website.legobitna.repl.co/