Html & Css

[새싹 프론트엔드] 1주차 - 4 CSS 배경 & 박스 속성

ddorongg 2022. 10. 21. 09:07

CSS 배경&박스 속성

배경 속성

속성 설명
background-color 배경 색상 지정
background-image 배경 이미지 지정
background-size 배경 이미지의 크기 지정
background-repeat 배경 이미지의 반복 형태 지정
background-attachment 배경 이미지의 부착 형태 지정
background-position 배경 이미지의 위치 지정
background 한 번에 모든 배경 속성 입력

background-image 예시)

body { background-image : url(‘BackgroundFront.png’),
                                            url(images/‘BackgroundBack.png’); }

 

중요!
/ : 폴더
. : 현재 위치(경로) 파일 -  점이 하나
.. : 부모폴더 ex) 202210 폴더 
ex)

background-image: url("./images/apple.jpg") > 따옴표 꼭!
background-image: url("../images/spade-7.png");
background-image: url("../1017/images/back.png");

 

✔ 이미지 폴더 있을 때 경로 지정 해주기

 ✔ 사진명 쓸 때 따옴표 입력 꼭!!

(자료 복사할 때 따옴표가 다른 기호로 되어 있어 에러날때 있음 - 지우고 따옴표 다시 써주기)

 

 

background-repeat 속성

키워드 설명
repeat 이미지 반복
no-repeat 이미지 반복 안함
repeat-x X축 방향으로 이미지가 반복
repeat-y Y축 방향으로 이미지가 반복

주로 no-repeat 사용 - 디폴트 값이 repeat이기 때문

body { background-image : url(‘BackgroundFront.png’),
                                            background-repeat : no-repeat; }

 

background-attachment 속성

배경 이미지를 화면에 고정하는 속성

키워드 설명
fixed 배경 이미지를 화면에 고정
scroll 스크롤 시, 배경 이미지는 스크롤 되지 않음

 

scroll 예시)

<head>
    <title>background-attachmen(scroll)</title>
    <style>
      body {
        background-image: url("BackgroundFront.png"),
        url("images/BackgroundBack.png");
        background-size: 100% 250px;
        background-repeat: no-repeat;
        /* 스크롤을 내리면 그림 안보임 */
        background-attachment: scroll;
        background-position: 150px 15%;
      }
    </style>
  </head>
  <body>
    <p>오늘 싸이버거 먹는당</p><p>오늘 싸이버거 먹는당</p><p>오늘 싸이버거 먹는당</p>
    <p>오늘 싸이버거 먹는당</p><p>오늘 싸이버거 먹는당</p><p>오늘 싸이버거 먹는당</p>
    <p>오늘 싸이버거 먹는당</p><p>오늘 싸이버거 먹는당</p><p>오늘 싸이버거 먹는당</p>
    <p>오늘 싸이버거 먹는당</p><p>오늘 싸이버거 먹는당</p><p>오늘 싸이버거 먹는당</p>
    <p>오늘 싸이버거 먹는당</p><p>오늘 싸이버거 먹는당</p>
  </body>
</html>

결과

 

 

fixed 예시)

<head>
    <style>
      body {
        background-image: url("BackgroundFront.png"),
        url("images/BackgroundBack.png");
        background-size: 100% 250px;
        background-repeat: no-repeat;
        /* 스크롤을 내려도 그림이 보임*/
        background-attachment: fixed;
        background-position: 150px 15%; 
      }
    </style>
  </head>
  <body>
    <p>오늘 싸이버거 먹는당</p><p>오늘 싸이버거 먹는당</p><p>오늘 싸이버거 먹는당</p>
    <p>오늘 싸이버거 먹는당</p><p>오늘 싸이버거 먹는당</p><p>오늘 싸이버거 먹는당</p>
    <p>오늘 싸이버거 먹는당</p><p>오늘 싸이버거 먹는당</p><p>오늘 싸이버거 먹는당</p>
    <p>오늘 싸이버거 먹는당</p><p>오늘 싸이버거 먹는당</p><p>오늘 싸이버거 먹는당</p>
    <p>오늘 싸이버거 먹는당</p><p>오늘 싸이버거 먹는당</p>
  </body>
</html>

결과

 

background-position 속성

배경 이미지의 위치를 지정하는 속성

키워드 설명
bottom 배경 이미지를 아래쪽에 배치
center 배경 이미지를 중앙에 배치
left 배경 이미지를 왼쪽에 배치
right 배경 이미지를 오른쪽에 배치
top 배경 이미지를 위쪽에 배치
X축 X축 위치 지정
X축 Y축 X축 위치, Y축 위치 지정

X축 Y축 지정예시)

px, % 등 크기로 지정 가능

background-position: 150px 15%;

 

background 속성

배경을 꾸미는 여러 값을 한 번에 지정하는 단축 속성

color, image, position/size, repeat 순으로 값 지정

 

div { background : skyblue url(“apple.jpg") center/100px repeat-y; }
div { background : skyblue; } /* 배경색을 skyblue로 설정 */ 
div { background : url("apple.jpg"); } /* 배경 이미지 지정 */

 

background-position 속성

배경 이미지의 위치를 지정하는 속성

키워드 설명
bottom 배경 이미지를 아래쪽에 배치
center 배경 이미지를 중앙에 배치
left 배경 이미지를 왼쪽에 배치
right 배경 이미지를 오른쪽에 배치
top 배경 이미지를 위쪽에 배치
X축 X축 위치 지정
X축 Y축 X축 위치, Y축 위치 지정

X축 Y축 지정 방법 예시)

background-position : 0px 50%;

 

background 속성

  • 배경을 꾸미는 여러 값을 한 번에 지정하는 단축 속성
  • color, image, position/size, repeat 순으로 값 지정
  • 값 1개만 지정하고 싶을 땐 그 값만 써도 상관X 

박스 속성

웹 페이지의 레이아웃을 구성할 때 가장 중요함

 

박스 모델

속성 설명
content 텍스트나 이미지가 들어있는 박스의 실질적인 내용 부분
width  영역의 너비를 지정
height 내용 영역의 높이를 지정
padding 내용과 테두리 사이의 간격, 눈에 보이지 않음
border 내용과 패딩 주변을 감싸는 테두리
margin 테두리와 이웃하는 요소 사이의 간격, 눈에 보이지 않음
  • HTML 태그는 사각형 박스 형태
  • 박스 크기, 배경색, 여백, 옆 박스와의 거리 등을 제어 가능함.

예) <div> 태그

※<div>영역의 박스 구성이 눈에 보이지 않지만, 실제로는 박스로 구성되어 있음

 

margin, padding 속성

<head>
  <style>
      div {
           width : 100px;
           height : 100px;
           background-color : red;
           border : 20px solid black;
           margin : 10px;
           padding : 30px;
  </style>
</head>
<body>
<div></div>
</body>

결과

 

display 속성

키워드 설명
none 태그를 화면에서 숨기기
block 태그를 블록 형식으로 지정
inline 태그를 인라인 형식으로 지정
inline-block 태그를 인라인-블록 형식으로 지정

* inline-block은 내가 잘 몰랐던 속성인데 인라인+블록의 요소를 둘 다 가지고 있다.

 

✔ inline  속성은 크기, 여백을 지정할 수 없다.

✔ inline-block 속성은 크기, 여백을 지정할 수 있다. (그러나 줄 바꿔서 개체를 위치시킬 수 없음)

이러한 display 속성을 이용하여 div를 inline 속성으로 a태그를 block 속성으로 바꿀 수 있음.

 

visibility 속성

HTML태그를 숨길 것인지 출력할 것인지 지정

키워드 설명
visible 태그가 보임
hidden 태그에 출력 공간을 할당하고, 보이지만 않음
<head>
    <style>
		span {
		visibility : hidden;
		}
</head>
<body>
	<h3>다음 빈 곳에 숨은 단어는 무엇일까요?</h3>
	<hr/>
	<ul>
	<li>I (<span>love</span>) you.
	<li>CSS is Cascading (<span>Style</span>) Sheet.
	<li>다음 배울 과목은 (<span>JavaScript</span>)입니다.
	</ul>
</body>

 

※ display:none과 visibility:hidden의 차이점

display:none은 아예 사라지게 함 (영역도 사라짐 - 컨텐츠의 공간도 제거)

visibility:hidden은 숨겨서 보이지만 않게 함 (영역은 남김 - 컨텐츠의 공간은 남김)


box-shadow 속성

박스 전체에 그림자 효과를 적용

box-shadow : h-shadow v-shadow blur-radius spread-radius color
키워드 설명
h-shadow, v-shadow 원본 박스와 그림자 박스 사이의 수평, 수직 거리(필수)
blur-radius 흐릿한 그림자를 만드는 효과로 흐릿하게 번지는 길이
spread-radius 그림자 크기(디폴트 0)
color 그림자 색
 <head>
    <title>boxshadow</title>
    <style>
      .redBox {
        box-shadow: 10px 10px red;
      }
      .blurBox {
        box-shadow: 10px 10px 5px skyblue;
      }
      .multiEffect {
        box-shadow: 2px 2px 2px black, 0 0 25px blue, 0 0 5px darkblue;
      }
      div {
        width: 150px;
        height: 100px;
        border: 10px solid lightgray;
        background-image: url("apple.png");
        background-size: 150px 100px;
        background-repeat: no-repeat;
      }
    </style>
  </head>
  <body>
    <h3>박스 그림자 만들기</h3>
    <hr />
    <div class="redBox"></div>
    <div class="blurBox"></div>
    <div class="multiEffect"></div>
  </body>

결과

 

 

새싹DT 기업연계형 프론트엔드 실무 프로젝트 과정 N주차 블로그 포스팅