일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- OpenFeign
- ExceptionHandlerFilter
- StringCacheKeyGenerator
- 비사이드프로젝트
- 네이버클라우드 서버
- 쿼리 메소드
- querydsl
- CHAR 와 VARCHAR
- 2024년 상반기 회고
- microsoft
- Spring Security
- REDIS
- 오블완
- Apple 로그인
- async 와 await
- 티스토리챌린지
- FeignClients
- OAuth2.0
- JWT
- 코드로 배우는 스프링 부트 웹 프로젝트
- INSERT ON DUPLICATE KEY UPDATE
- Spring Reactive Programming
- springboot
- 비식별
- rest docs
- 도메인 주도 설계(DDD) 기반 마이크로서비스(MSA) 모델링
- asciidoctor
- spring boot
- Spring Cloud OpenFeign
- 사이드 프로젝트
- Today
- Total
기록하기
css(1) - 선택자 / box / display 본문
백엔드 개발자인 필자에게 css는 생소한 영역이다. 하지만 javascript 공부를 하면서 html, css 에 대한 기초적인 학습을 진행하였고, 모든 내용을 다 정리할 수는 없지만 기초적인 부분이라도 기록을 해보려고 한다.
css 적용하는 방법 3가지
1) inline style
태그에서 style 속성을 직접 적용하는 방법이다.
<h1 style="color: blue">파란색 글자</h1>
2) internal css
<head></head> 안에 <style></style> 태그를 작성하여 이 안에 직접 적용하는 방법이다.
3) external css
별도의 css 파일을 만들고 head 태그에 해당 css 파일을 삽입하는 방식이며 가장 많이 사용한다.
<head>
<link rel="stylesheet" href="./css/style.css">
</head>
css 선택자
<head>
...
<style>
/*
- 전체 선택자
*/
* {
background-color: greenyellow;
}
/*
- 클래스 선택자
*/
.color-red {
color: red;
}
/*
- 태그 선택자
*/
/* text-decoration: none => 밑줄 없애기 */
a {
text-decoration: none;
}
/*
- id 선택자
*/
#container {
width: 400px;
height: 50px;
background-color: aqua;
}
/*
- 하위 선택자 방식
section 안에 있는 모든 ul 태그에 적용
*/
section ul {
border: 1px solid black;
}
/*
- 자식 선택자 방식
바로 밑에 있는 ul 태그만 적용
*/
section > ul {
border: 1px solid black;
}
/*
- 인접 형제 선택자 방식
h1 옆에 붙은 ul 태그에만 적용
*/
h1 + ul {
background-color: blue;
}
/*
- 일반 형제 선택자 방식
h1 에서 붙어있는 ul 태그 모두에 적용
*/
h1 ~ ul {
background-color: blue;
}
/*
- 속성 선택자
*/
input[type="email"] {
border: 2px solid yellowgreen;
}
/*
- 가상 클래스 선택자
*/
/* 마우스가 오버 됐을 때 */
a:hover {
color: red;
}
tbody tr:nth-child(2n) {
background-color: cornflowerblue;
}
</style>
</head>
<body>
<p class="color-red">this is a red colored paragraph.</p>
<a href="">링크1</a>
<a href="">링크2</a>
<a href="">링크3</a>
<div id="container"></div>
<section>
<p>p 태그</p>
<ul>
<li>li 태그</li>
<li>
li 태그
<ul>
<li>li 태그</li>
</ul>
</li>
</ul>
</section>
<div>
<h1>h1 태그</h1>
<ul>
<li>li 태그</li>
</ul>
<ul>
<li>li 태그</li>
</ul>
</div>
<input type="email" name="blue" id="">
<table>
<thead>
<tr>
<th>이름</th>
<th>나이</th>
</tr>
</thead>
<tbody>
<tr>
<td>A</td>
<td>10</td>
</tr>
<tr>
<td>B</td>
<td>20</td>
</tr>
<tr>
<td>C</td>
<td>30</td>
</tr>
</tbody>
</table>
</body>
css box modeling
css 에서는 padding, border, margin 등의 속성으로 박스 모델을 만든다. 이때 이 속성들의 특징 중 하나는 시계 방향으로 값을 지정할 수 있다는 것이다.
즉, padding: 10px 10px 15px 15px; 의 의미는
-> padding-top: 10px, padding-right: 10px, padding-bottom: 15px, padding-left: 15px 을 의미한다고 볼 수 있다.
이 점을 활용하면,
padding: 10px 5px; -> top & bottom: 10px / right & left: 5px 을 의미
padding: 10px 5px 10px; -> top: 10px / right & left: 5px / bottom: 10px 을 의미
위와 같이 사용할 수 있다.
그러면 여기서 padding, border, margin 의 의미는 무엇일까?
padding 은 테두리와 콘텐츠 사이의 여백을 의미하고, border 는 테두리를, margin 은 다른 태그와의 거리를 의미한다.
여기서 box-sizing: border-box; 속성을 주게 되면 width 와 height 는 content 의 너비가 아니라 border 까지 포함한 태그의 너비가 된다. 즉, height: 100px, width: 300px, border: 10px, padding: 10px 이라고 가정하면 content 가 들어가는 높이 크기는 60이 된다. 계산을 상세하게 하자면, 100 - 10(왼쪽 padding) - 10(오른쪽 padding) - 10(왼쪽 border) - 10(오른쪽 border) 이다.
이 box-modeling 을 활용하여 display 속성을 정리해보는 시간은 다음에 이어서 진행해보도록 하겠다.
'language > html, css' 카테고리의 다른 글
html - b / strong / i / em / abbr / cite / image-map 태그 (0) | 2022.04.17 |
---|