위와 같은 모양의 웹페이지를 만들자
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<script src="https://kit.fontawesome.com/4e5b2f86bb.js" crossorigin="anonymous"></script>
<style>
body {
height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
margin: 0;
}
img {
width:300px;
margin-bottom:10px;
}
.inputbox{
position: relative;
}
input {
width:450px;
padding: 10px 30px;
border-radius: 50px;
border: 1px solid #f4f4f4;
font-size: 18px;
margin-bottom: 22px;
}
.extrabutton {
background-color: #f4f4f4;
padding: 10px 15px;
margin: 10px;
border-radius: 5px;
color:#6a6b6f;
}
i {
position: absolute;
font-size: 18px;
}
.fa-magnifying-glass {
color:#808080;
left: 15px;
top: 11px;
}
.fa-keyboard {
right: 43px;
top: 11px;
}
.fa-microphone {
color: #5c8fed;
right: 15px;
top: 11px;
}
.english {
margin: 20px;
}
</style>
</head>
<body>
<img src="https://user-images.githubusercontent.com/61774575/95163201-34411c00-075c-11eb-9987-d6301acb4dab.png">
<div class="inputbox">
<input type="text">
<i class="fa-solid fa-magnifying-glass"></i>
<i class="fa-solid fa-keyboard"></i>
<i class="fa-solid fa-microphone"></i>
</div>
<div>
<span class="extrabutton">Weegle 검색</span>
<span class="extrabutton">I'm feeling Lucky</span>
</div>
<div class="english">Weegle 제공 서비스 : <a href="https://www.google.com/search?q=english&sxsrf=ALiCzsZMgf2T5woYM18mL8bcBGOzJMzTxA%3A1653456644313&source=hp&ei=BL-NYuvlDsDDuvQPtsisgA4&iflsig=AJiK0e8AAAAAYo3NFBi0jiWD3yH9y6uYUkW0pxjg429x&ved=0ahUKEwjr97n_9fn3AhXAoY4IHTYkC-AQ4dUDCAk&uact=5&oq=english&gs_lcp=Cgdnd3Mtd2l6EAMyEAgAEIAEEIcCELEDEIMBEBQyCwgAEIAEELEDEIMBMggIABCABBCxAzIICAAQgAQQsQMyCwguEIAEELEDEIMBMgUILhCABDILCAAQgAQQsQMQgwEyCwgAEIAEELEDEIMBMggIABCABBCxAzIFCAAQgAQ6BAgAEAM6FAguEIAEELEDEIMBEMcBEK8BENQCOgQIIxAnOhAILhCABBCHAhDHARDRAxAUOhEILhCABBCxAxCDARDHARDRAzoHCCMQ6gIQJzoRCC4QgAQQsQMQxwEQ0QMQ1AI6BwgAEIAEEAo6CAguEIAEELEDOg4ILhCABBCxAxCDARDUAlAAWO4TYLcVaANwAHgAgAH_AYgB6xCSAQMyLTmYAQCgAQGwAQo&sclient=gws-wiz">English</a></div>
</body>
</html>
flex-direction: column;
위에서 아래로 정렬한다.align-items: center;
세로선(열) 기준 가운데로 정렬한다.justify-content: center;
가로선(행) 기준 가운데로 정렬한다.position: relative;
를 적용했다.position: absolute;
를 적용하여 div.inputbox 요소에 절대적인 위치에 있도록 한다. body 태그를 display: flex;
처리를 했더니 블록 요소가 되어버렸다. 이건 div 태그 안에 span 태그를 넣어버리니까 해결.
margin 값을 줬더니 해결.
높이가 박스에 딱 맞아서 justify-content
가 적용이 안된다. 우선 높이를 화면 전체로 바꿔야 했다.
body 태그의 높이를 100% 로 해도 적용되지 않는다. height=100vh;
로 하니까 해결. 스크롤 바가 넘치는 현상이 있어서 margin=0;
을 추가했다.
야호!