Cascading Style Sheet
캐스캐이딩 스타일 시트 혹은 종속형 시트라고 부르며
Markup langage가 실제 표시되는 방법을 기술하는 언어로
HTML과 주로 쓰이며 XML에서도 사용 가능하다
HTML에서 스타일링할 Tag를 고르는 규정하는 문법
*
)작성 방법
* {
margins: 0px;
padding: 0px;
}
Tag
)div
를 작성하면 해당 태그에만 CSS가 적용)작성 방법
body {
padding: 10px;
font-size: 16px;
}
#
)여러가지의 속성값을 가질 수 없다.
작성 방법
<div id="apple1">APPLE</div>
<div id="apple2">APPLE</div>
#apple1 {
color: #ff0000;
}
.
)여러가지 속성값을 가질 수 있다.
id와 달리 제한적이지 않기 때문에 자주 사용한다.
작성 방법
<div class="banana apple">I'm a BANANA</div>
<div class="banana apple tomato">I'm a BANANA</div>
<div class="banana apple tomato pineapple">I'm a BANANA</div>
<div class="banana apple tomato pineapple melon">I'm a BANANA</div>
.banana {
color: #ffff00;
}
:
)그만큼 많은 옵션을 가지고 있기때문에 자세한 옵션은
MDN에서 확인 가능하다
작성 방법
<body>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
</body>
div:last-child {
color: #0000ff;
}
[]
)^
[태그^="값"]$
[태그$="값"]*
[태그*="값]속성 선택 방법에 대한 자세한 내용은 MDN에서 확인 가능
작성 방법
<input type="text" placeholder="First name" />
<input type="text" placeholder="Last name" />
<input type="password" placeholder="password" />
input[placeholder~="name"] {
background-color: #00ff00;
}
Descendant에는 같이 사용 가능한 Combination이 있다
가장 많이 사용되는 것들은 >
(부모 아래 자손) +
(형제) ~
(형제와 형제)
작성 방법
<body>
<span>Hello</span>
<p> Lorem ipsum dolor sit, amet consectetur adipisicing elit.
Molestias sapiente neque sit? <span>inside</span>
</p>
</body>
span {
color: #ff0000;
}
span p {
color: #0000ff;
}
각 문법의 사용 가능한 속성값은 MDN에서 확인
CSS Selector 사용 연습은 아래 링크에서
Block Element Modifier
많은 엔지니어들이 CSS를 좀더 쉽게 읽기 위해
하나의 규칙을 정하고 CSS를 작성하는 것.
속성을 작성할때는 class만 사용하여 부모와 자식 형제를 구분한다.
작성 방법
<button class="button">
Normal button
</button>
<button class="button button--state-success">
Success button
</button>
<button class="button button--state-danger">
Danger button
</button>
.button {
display: inline-block;
border-radius: 3px;
padding: 7px 12px;
border: 1px solid #D5D5D5;
background-image: linear-gradient(#EEE, #DDD);
font: 700 13px/18px Helvetica, arial;
}
.button--state-success {
color: #FFF;
background: #569E3D linear-gradient(#79D858, #569E3D) repeat-x;
border-color: #4A993E;
}
.button--state-danger {
color: #900;
}
이렇게 작성하면 html에서 속성이 id였는지 class였는지 햇갈일 일이 줄어든다.
또한 부모 요소에 다수의 속성을 쓸때는 —(dash 2개)를 사용한다.
(button button—big button—blue)
이런 방식은 클래스 선언 종류가 많아진다는 단점이 있다.
다만 html만 봐도 어떻게 생긴 요소인지 어느정도 감을 잡을 수 있어
개인적으로는 BEM을 따르는것이 더 좋아 보인다.
CSS를 정의하는 방법으로 문서 전반적으로 재사용할 임의의 값을 담는다.
브라우저중 IE(Internet Explorer)에서는 적용되지 않으며
자세한 사용 방법 및 적용 가능 브라우저는 MDN에서 확인 가능하다.
작성 방법은 아래와 같이 작성한다.
:root {
--main-color: #ff00ff;
}
div {
color: var(--main-color);
}
var(...)
과 같이 사용한다.CSS에는 우리가 원하지 않아도 브라우저가 자동으로 적용시키는 속성이 있는데
이를 없애주는 방법이 있다. 이를 Reset CSS라고 하며 아래 링크를 통해
Reset CSS 속성을 확인 할 수있다. 이를 reset.css파일로 만들어서 CSS폴더에 같이 넣어주자
사용할때에는 스타일링을 하는 CSS파일에 아래와같이 넣어 사용하면 된다.
@import "reset.css";
항상 시작하기 전 브라우저의 스타일을 모두 없애고
내가 직접 디자인 하는것이 더 좋다.