css 기초 공부 2일차

BellBoy·2023년 11월 6일
0
post-custom-banner

https://developer.mozilla.org/ko/docs/Learn/CSS/First_steps/How_CSS_is_structured

css의 구조 ,작동방식까지 알아보려고한다

css 스타일 시트는 외부와 내부로 구분 지을 수 있다
외부에 경로가 있으면 link를 사용해서 다음과 같이 연결한다

내부에 스타일 시트가 있다면

<!doctype html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>나의 CSS 실험</title>
    <style>
      h1 {
        color: blue;
        background-color: yellow;
        border: 1px solid black;
      }

      p {
        color: red;
      }
    </style>
  </head>
  <body>
    <h1>헬로우 월드</h1>
    <p>이것은 나의 첫 번째 CSS 예제입니다</p>
  </body>
</html>

다음과 같이 작성할 수 있다

인라인 스타일이라는 css 작성법도 있지만 정말로 필요하지 않는한 추천하지 않는다고 한다
인라인 스타일의 예시이다

    <h1 style="color: blue;background-color: yellow;border: 1px solid black;">
      헬로우 월드!
    </h1>
    <p style="color:red;">이것은 나의 첫 번째 CSS 예제입니다</p>

CSS를 공부하면서 선택자를 모르고 넘어갈 수 없다고한다
css 선택자는 다음과 같다

h1
a:link
.manythings
#onething
*
.box p
.box p:first-child
h1, h2, .intro

css 충돌시 어떤 스타일을 적용해야하는지 규칙이 있다
cascade 방식과 specificity 방식 계단식 우선순위 방식이있다
보통은 cascade 방식으로 진행되지만
class 선택자 및 요소 선택자가 있는 이전 블록의 경우 class가 출력됩니다

CSS는 속성 및 값으로 정의됩니다
대소문자를 구분할 수 있고 콜론으로 구분됩니다

css 안에서 함수 처리도 가능합니다

.outer {
  border: 5px solid black;
}

.box {
  padding: 10px;
  width: calc(90% - 30px);
  background-color: rebeccapurple;
  color: white;
}

위 글에서 보듯이 calc 함수를 사용하여 width의 값을 정의한걸 확인할 수 있습니다.

@rules 라는 css 규칙이있습니다
추가로 css 스타일 시트를 가져오려면 Import를 사용할 수 있습니다
@import "styles2.css";

가장 일반적인 rules중 하나는 media 입니다 이는 특정 조건이 참일때만 화면에 발현되는데
(예: 화면 해상도가 일정 폭 이상이거나 화면이 일적 폭 보다 넓을 떄)라고 정의합니다
예를들어서 모바일화면과 웹화면 하이브리드한 상황에서 나타내고 사라지는것을 정의하는거 같습니다

body {
  background-color: pink;
}

@media (min-width: 30em) {
  body {
    background-color: blue;
  }
}

속기(shorthadns)

padding-top: 10px;
padding-right: 15px;
padding-bottom: 15px;
padding-left: 5px;

위 코드를 아래 코드처럼

/* 패딩 및 마진과 같은 4-값 속기에서는 위, 오른쪽, 아래, 왼쪽 (위에서 부터 시계방향) 순서로 값이 적용됩니다.
   위, 아래에 패딩 / 마진을 설정하고 왼쪽 / 오른쪽에 패딩 / 마진을 설정하는 다른 shorthand 유형 (예: 2-값 shorthands)도 있습니다. */
padding: 10px 15px 15px 5px;

background-color: red;
background-image: url(bg-graphic.png);
background-position: 10px 10px;
background-repeat: repeat-x;
background-attachment: fixed;


위 코드를

background: red url(bg-graphic.png) 10px 10px repeat-x fixed;

아래 코드처럼 값에 여러 속성을 부여해서 코드를 간결하게 만드는 방법이있습니다

css에서 주석은

/* */ 을 사용하여 처리합니다

css 에선 공백을 가독성의 이유로 사용하는데 값에서는 공백을 가독성 이유와 별개로 값을 정의할때 사용합니다

profile
리액트러버
post-custom-banner

0개의 댓글