Stack/CSS
[CSS] 의사 요소 (before / after)
7ingout
2022. 4. 11. 09:34
::before(:before)
- 선택한 요소의 첫 자식으로 요소를 하나 생성
- 기본값은 인라인
- content 속성과 함께 사용하며 장식용 콘텐츠를 추가할 때 사용
div::before {
content: "그린";
}
<div>컴퓨터</div>
<div>그린컴퓨터</div> 이케 div 내에 생김
그린<div>컴퓨터</div>가 아니라
::after(:after)
header.html (초안)
<!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>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
#wrap {
width: 1200px;
margin: 0 auto;
}
#header { text-align: center; } /* text-align은 내 안에 있는 인라인 요소만 정렬 */
h1 { background: red; width: 400px; margin: 0 auto; display: inline-block; } /* margin: 0 auto (block 태그 중앙으로) 중앙에 보내는 유일한 방법 */
a { background: blue; color: #000; }
</style>
</head>
<body>
<div id="wrap">
<div id="header">
<h1><a href="#"><img src="images/logo.png" alt="씨큐아이"></a></h1>
<ul id="menu">
<li><a href="#">menu1</a></li>
<li><a href="#">menu2</a></li>
<li><a href="#">menu3</a></li>
<li><a href="#">menu4</a></li>
<li><a href="#">menu5</a></li>
</ul>
<ul id="gnbmenu">
<li><a href="#"><img src="images/language_icon.png" alt="언어선택아이콘"></a></li>
<li><a href="#"><img src="images/search_icon.png" alt="검사아이콘"></a></li>
<li><a href="#"><img src="images/sitemap_icon.png" alt="사이트맵아이콘"></a></li>
</ul>
</div>
</div>
</body>
</html>
header.html
<!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 rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
li { list-style: none;}
#wrap {
width: 1200px;
margin: 0 auto;
}
#header {
text-align: center;
padding-top: 30px;
padding-bottom: 30px;
background: lightcyan;
}
#header h1 {
float: left;
}
#header #gnbmenu {
float: right;
}
#header #gnbmenu li {
float: left;
padding: 0 10px;
}
#header #menu {
display: inline-block;
}
#header #menu li {
float: left;
padding: 0 20px;
}
.clearBoth::after { /* float 쓸 때 미리 만들기, 얘 필수 무조건 ! */
content: "";
display: block;
clear: both;
}
a { text-decoration: none; color: inherit; }
li i {
color: red;
}
li .material-icons {
font-size: 42px;
}
</style>
</head>
<body>
<div id="wrap">
<div id="header" class="clearBoth">
<h1><a href="#"><img src="images/logo.png" alt="씨큐아이"></a></h1>
<ul id="menu">
<li><a href="#">menu1<i class="material-icons">cake</i></a></li>
<li><a href="#">menu2</a></li>
<li><a href="#">menu3</a></li>
<li><a href="#">menu4</a></li>
<li><a href="#">menu5</a></li>
</ul>
<ul id="gnbmenu">
<li><a href="#"><img src="images/language_icon.png" alt="언어선택아이콘"></a></li>
<li><a href="#"><img src="images/search_icon.png" alt="검사아이콘"></a></li>
<li><a href="#"><img src="images/sitemap_icon.png" alt="사이트맵아이콘"></a></li>
</ul>
</div>
</div>
</body>
</html>