야나도 프로젝트

나도 개발자 될수있어

HTML + CSS

CSS3로 웹 페이지 스타일링하기 - 2

jmeen 2021. 8. 24. 17:51
728x90

키워드(Keyword)

- W3C에서 미리 정의한 단어

- 키워드를 스타일 값으로 지정하면 키워드에 해당하는 스타일이 자동으로 적용

- 예: 색상 키워드

 

url

- 이미지, 글꼴 파일 등 네트워크상에 있는 리소스를 불러올 때 사용

...
<style>
  body {
  background-image: url('Landscape.jpg');
  }
</style>
...

 

크기

- CSS3에서 가장 많이 사용하게 되는 단위
- %, em, px, cm, mm, inch 등 종류도 다양
- 글꼴, 위치, 크기 등을 지정할 때 널리 사용

 

px 단위

- 브라우저의 기본 font-size 속성은 16px이며 절대값으로 지정

<style>
  li:nth-child(1) {}
  li:nth-child(2) { font-size: 16px; }
  li:nth-child(3) { font-size: 24px; }
  li:nth-child(4) { font-size: 32px; }
</style>

 

색상

키워드로 지정하기 : CSS3 색상 키워드를 이용

<color> - CSS: Cascading Style Sheets | MDN (mozilla.org)

 

- CSS: Cascading Style Sheets | MDN

CSS 자료형은 sRGB 색 공간의 한 색을 표현하며, 추가로 알파 채널 투명도 값도 가질 수 있어 자신이 가리키는 색상과 배경이 어떻게 합성되어야 하는지 지정할 수 있습니다.

developer.mozilla.org

Red, Green, Blue 색상의 조합
- alpha 값은 0.0(완전 투명) ~ 1.0(완전 불투명)

형태 설명
rgb(red, green, blue) red, green, blue 색상을 조합
rgba(red, green, blue, alpha) red, green, blue 색상을 조합, alpha로 투명도 조정
#000000 16진수 표기법. red, green, blue 각각 2자리를 차지

 

rgb, rgba, HEX 코드를 이용한 색상의 변경

<style>
  div#rgb {
  	background-color: rgb(255, 127, 0);
  }
  div#rgba {
  	background-color: rgba(255, 127, 0, 0.5);
  }
  div#hex {
  	background-color: #FF7F00;
  }
</style>
...
<div id="rgb">Using RGB</div>
<div id="rgba">Using RGBA</div>
<div id="hex">Using HEX</div>

 

글자

font-family 속성 : 글꼴을 지정하는 속성
- 한 단어로 된 글꼴은 따옴표를 사용하지 않지만, 두 단어 이상의 글꼴 이름은 따옴표 사용을 추천
- 사용자의 환경에 따라 개발시 사용한 글꼴이 사용자의 컴퓨터에 설치되어 있지 않을 가능성
     -> 복수 개의 글꼴(비슷한 형태의 글꼴)을 콤마(,)를 이용하여 명시(대체 글꼴)
- 다양한 사용자의 글꼴 상황을 개발자가 알 수 없으므로 font-family 속성의 맨 마지막에는 대부분의 컴퓨터에 탑재되어 있는 일반 글꼴(generic-family) 글꼴을 명시

font-size 속성 : 글꼴의 크기
- 브라우저의 기본 글꼴 크기는 16px
- 크기 단위(px, em, %) 혹은 키워드(small, medium, large 등)로 지정 가능


font-style 속성 : 글꼴의 기울기 조정
- normal, italic, oblique 등의 키워드


font-weight 속성 : 글꼴의 두께
- 수치로 입력 : 400 = 일반 글자의 두께로 출력, 700 = 두껍게 출력. 두께를 지원하지 않는 글꼴은 지정할 수 없음
- 키워드로 입력 : normal, lighter, bold, bolder 등


text-align 속성 : 글자의 정렬을 지정
- 키워드로 입력 : left, right, center 등


text-decoration 속성 : 선으로 글자를 꾸미는 속성
- 키워드로 입력 : none, line-through, underline, overline 등

 

 

CSS3 박스 모델

웹 문서를 이루는 요소들은 페이지에 배치될 때 박스 형태의 구조를 이름
- 박스 모델을 잘 이해해야 요소들을 원하는 위치에 적절하게 배치할 수 있음

padding 영역 : 요소의 콘텐트와 테두리 사이의 영역 (내부 공간 지정)
margin 영역 : 요소의 테두리와 외부 요소 사이의 영역 (외부 공간 지정)


전체 너비 = width + 2 * (margin + border + padding)
전체 높이 = width + 2 * (margin + border + padding)

 

margin, padding

margin, padding에 값을 1개 입력할 경우
- 4방향 모두 적용

<style>
div {
  background-color: red;
  padding: 20px;
  margin: 20px;
  text-align: center;
}
</style>

특정 방향의 margin과 padding 지정

접미어 설명
-left 왼쪽
-right 오른쪽
-top
-bottom 아래

border

border : 테두리를 결정하는 속성
- border를 결정하는 기본 스타일 3가지

속성 설명
border-width 테두리 두께
border-style 테두리 형태
border-color 테두리 색상

border-width, border-style, border-color 속성을 한꺼번에 입력할 수 있음

<style>
  div.box {
    border: 5px dashed yellow;
  }
</style>

border-radius : 모서리를 둥글게 만드는 스타일

<style>
  img.round { border-radius: 20px; }
</style>
...
<img class="round" src="Penguins.jpg">

모서리별 다른 둥글기를 적용할 수 있음

<style>
  img.round {
  border-radius: 10px 20px 30px 40px;
}
</style>

 

display

-  HTML 요소가 공간을 점유하는 방식을 결정 (HTML 공간 분할 태그 항목 참조)


display 속성의 키워드

키워드 설명
none 요소를 화면에서 감추기
block 요소를 블록 형식으로 표시
inline 요소를 인라인 형식으로 표시
inline-block 요소를 인라인 블록으로 표시

inline vs inline-block

  inline inline-block
width, height 속성 X O
margin 속성 좌우만 적용 상하좌우 적용

display vs visibility

- display는 공간 점유 방식을 결정하는 속성
- visibility는 시각적으로 표시 여부를 결정하는 속성 (visible, hidde

background

배경을 지정하는 CSS 속성

속성 설명
background-image 배경 이미지 지정
background-size 배경 이미지의 크기 지정
background-repeat 배경 이미지의 무한 반복 형태 지정
background-attachment 배경 이미지의 부착 형태 지정
background-position 배경 이미지의 위치 지정
background-color 배경 이미지의 색상 지정
<style>
  body {
  background-image: url("Landscape.jpg");
  }
</style>

 

 

- background-size : 배경 이미지의 크기

<style>
  body {
    background-image: url("image/Landscape.jpg");
    background-size: 100%;
  }
</style>

background-repeat : 배경 이미지 반복 설정 (기본값 : repeat)

<style>
  body {
    background-image: url("image/Landscape.jpg");
    background-repeat: no-repeat;
  }
</style>

repeat-x, repeat-y로 값을 설정하면 x축 방향, y축 방향으로의 반복 여부만 지정도 가능

<style>
  body {
    background-image: url("image/Landscape.jpg");
    background-repeat: repeat-y;
  }
</style>

 

background-position

배경 이미지가 표시될 이미지의 위치

<style>
  body {
    background-image: url("image/Landscape.jpg");
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-position: bottom;
  }
</style>

background: 배경 관련 속성을 일괄 지정

<style>
  body {
    background: url("image/Landscape.jpg") bottom / 100% no-repeat fixed lightgray;
  }
</style>

위치(position) 속성

웹 프론트엔드 개발시 요소의 위치를 결정
- 절대 위치 좌표 : 요소의 x 좌표와 y 좌표를 설정, 절대 위치를 지정
- 상대 위치 좌표 : 요소를 입력한 순서 혹은 요소의 포함 관계에 의해 위치가 지정
- 기본적으로 웹 브라우저는 상대 위치 좌표로 요소의 위치를 결정, 렌더링.

 

position 속성 : HTML 요소의 위치 설정 방법을 변경하는 속성

키워드 설명
static 상대 위치/좌표 설정
relative 초기 위치에서 상하좌우로 이동
absolute 절대 위치/좌표 설정
fixed 화면을 기준으로 절대 위치/좌표 설정

absolute 좌표계

- left
- top
- right
- bottom

<style>
  .box {
    width: 100px; height: 100px;
    position: absolute;
  }
  .box:nth-child(1) {
    background-color: red;
    left: 10px; top: 10px;
  }
  .box:nth-child(2) {
    background-color: green;
    left: 50px; top: 50px;
  }
  .box:nth-child(3) {
    background-color: blue;
    left: 100px; top: 100px;
  }
</style>
...
<div>
  <div class="box"></div>
  <div class="box"></div>
  <div class="box"></div>
</div>

absolute 좌표계 설정 팁

 

 

 

- 자손의 position 속성에 absolute 키워드를 적용하려면 조상 요소에 height 속성을 부여
- 자손의 position 속성에 absolute 키워드를 적용하려면 조상의 position 속성에 relative 키워드를 적용

<style>
  .container {
    position: relative;
    border: 2px solid;
    margin-top: 30px;
    height: 100px;
  }
  .box {
    width: 100px; height: 100px;
    position: absolute;
  }
</style>
...
  <div class="container">
  <div class="box"></div>
  <div class="box"></div>
  <div class="box"></div>
</div>

overflow 속성 : 내부의 요소가 조상의 범위를 벗어날 때 처리하는 방법을 지정

- hidden : 조상 영역을 벗어나는 부분 감춤


- scroll : 조상 영역을 벗어나는 부분 스크롤 처리

 

float 속성

- '부유'라는 의미로 박스 모델을 물에 띄워 보낸다는 의미
- 현대 웹 프론트엔드 작업에서는 레이아웃을 잡을 때 유용하게 사용

키워드 설명
left 요소를 띄워 왼쪽으로 보내기
right 요소를 띄워 오른쪽으로 보내기

이미지와 본문이 자연스럽게 녹아 드는 레이아웃 구성 예제

'HTML + CSS' 카테고리의 다른 글

CSS3로 웹 페이지 스타일링하기  (0) 2021.08.23
인터넷과 웹  (0) 2021.08.20
Visual Studio Code install  (0) 2021.08.20
HTML Basic  (0) 2021.08.12