CSS:개요: 두 판 사이의 차이

학교의 모든 지식. SMwiki
둘러보기로 이동 검색으로 이동
편집 요약 없음
 
(같은 사용자의 중간 판 8개는 보이지 않습니다)
76번째 줄: 76번째 줄:
|}
|}
.box와 같이 적용할 영역을 지정해주는 걸 선택자라 부른다. 그 안에 적용하는 내용들은 속성, 그 속성값을 값이라 부른다.
.box와 같이 적용할 영역을 지정해주는 걸 선택자라 부른다. 그 안에 적용하는 내용들은 속성, 그 속성값을 값이라 부른다.
===선택자===
{| class="wikitable"
!의도
!설명
!선택자 형태
|-
|범용선택자
|모든 곳에 적용함을 알려주는 선택자.
|*
|-
|타입선택자
|특정 태그에 적용되는 내용을 지정하는 선택자.
|태그명
|-
|class선택자
|클래스에 대해 적용함을 알려주는 선택자.
여러 클래스를 적용할 수도 있다.
<class="클래스1 클래스2"...> 형식으로 띄어쓰기를 통해 다양한 클래스를 적용할 수 있다.
|.클래스명
|-
|id선택자
|id 속성에 따라 적용하는 영역을 찾는다.
일반적으로 id는 한번만 사용되기에, 유일하게 적용할 부분에서 사용한다.
|#아이디
|}


==css파일==
==css파일==
112번째 줄: 85번째 줄:
주석은 /* 주석 */ 형식으로 입력한다.
주석은 /* 주석 */ 형식으로 입력한다.
<br />
<br />
==display 속성==
<br />
 
==성질==
===Block===
부모에게 주는 속성과 자식에게 주는 속성으로 나뉜다.
블록. 콘텐츠를 담을 공간에 대한 룩엔필을 다룬다.
 
모든 너비를 가져가며 아래로 쌓인다.
 
===Inline===
한 문장 내의 룩엔필을 다루는 개념.
 
옆으로 쌓인다.
 
===Inline-block===
블록인데, 옆으로 쌓인다.
 
===None===
있지만, 시각화되지 않는다.
 
==위치속성==
<syntaxhighlight lang="html">
<style>
    .box{
        ...
        position: 옵션;
        ...
    }
</style>
</syntaxhighlight>position에 지정한다.
{| class="wikitable"
!위치
(기본값 static)
!relative
!absolute
!fixed
|-
|용도
|absolute의 기준점을 잡기 위해 주로 사용한다.
|상위의 요소를 기준으로 위치를 잡아주기 위해 사용.
|팝업창처럼 브라우저 내에서 고정된다.
|-
|위치기준
|자신
|부모(상위 태그. 기준태그가 relative를 갖고 있어야 한다.)
(없으면 브라우저까지 찾아 올라간다.)
|브라우저
|-
|위치
|
|x축과 y축을 지정해주어야 한다.
left 속성과 top 속성 등이 필수.
 
%로 지정이 가능한데, 왼쪽 상단을 기준으로 위치가 정해진다.
 
(정확히 가운데에 두고 싶으면 margin-left:-50%; 등을 이용해 위치 조정.)
 
(margin에 퍼센트 사용이 가능한가? 보통은 transform:translate(-50%,-50%)를 이용한다.)
 
transform:translateY(-50%)로 한 축에 대해서만 지정도 가능하다.
|absolute와 동일.
|}
 
==모양속성==
{| class="wikitable"
!의도
!설명
!방법
|-
|모서리 둥글게
|사각형 버튼 따위의 모서리를 둥글게 만든다.
|border-radius: 크기;
|}
 
==사이즈 척도==
필요에 따라 사이즈 척도를 달리하여 적용한다.
{| class="wikitable"
!척도
!설명
|-
|px
|픽셀. 고정된 값을 지정한다.
|-
|em
|부모의 값을 함께 따라간다. 부모에 대한 배율로 지정한다.
부모가 여러 개 있을 때 중복적용되어 의존성 관리가 어렵다;(기본폰트사이즈가 커지면 부모들의 변화와 중첩 적용되어 지수형태로 변화가 일어나버린다.)
|-
|rem(responsive)
|가장 많이 사용하는 방식.(최근엔 반응형 웹으로 만들기 때문에)
 
HTML의 기본 폰트사이즈에 의존하여 따라간다.(body의 폰트사이즈에 의존)
|-
|%
|이것도 아주 많이 사용한다.
 
바로 위의 부모에 대한 크기의 %로 크기를 지정한다.
|}


css로 작성한다.
===부모의 성질===
<syntaxhighlight lang="css+smarty">
#container{
    /*기본적으로 가로정렬. colum으로 두면 세로정렬*/
    flex-direction: row;
    /*메인축 정렬. center, end, space-between(요소별로 여백 주기) 등 정렬을 정한다.*/
    justify-content:
    /*서브축 정렬. 다양한 옵션이 가능하다.*/
    align-content: center;
}
</syntaxhighlight>
===자식의 성질===
자식은 한 칸 띄워 작성한다. 다음은 컨테이너 id 안의 아이템 class를 가진 요소에만 적용한다는 의미.<syntaxhighlight lang="css+smarty">
#container .items{
....
}
</syntaxhighlight><br />
==적용 우선순위==
==적용 우선순위==
같은 이름의 스타일을 적용시킬 때.
같은 이름의 스타일을 적용시킬 때.
216번째 줄: 115번째 줄:


그 다음은 불러온 CSS.
그 다음은 불러온 CSS.
[[분류:정보]]
 
<br />
 
=팁=
html 파일을 작성할 때 <code>.클래스명</code>만 입력하고 tab을 누르면 대부분의 편집기에선 class 안에 입력한 클래스명을 넣어 div태그를 만들어준다. 일일이 <nowiki><div class="클래스명"></div></nowiki>를 치는 불편함을 해소해준다.
 
아이콘을 CSS에서 처리해 HTML에선 class속성만 주어 아이콘을 나타내기도 한다.

2021년 6월 9일 (수) 22:33 기준 최신판

틀:CSS. css에 대한 문서들을 담아두기 위한 틀.

  1. CSS:개요
  2. CSS:선택자
  3. CSS:크기척도
  4. CSS:텍스트
  5. CSS:아이콘
  6. CSS:속성
    1. CSS:색
    2. CSS:위치와 모양
    3. CSS:Flexbox
    4. CSS:기타속성
  7. CSS:변수
  8. CSS:진한쌤의 의문

개요[편집 | 원본 편집]

Cascading style sheets. 위에서 아래로 떨어지면서 속성을 지정한다. 같은 속성이 중복된 경우, 아래에서 지정한 속성이 최종적으로 적용된다.

태그 안에 넣었던 style 속성이 중복 사용되는 경우가 많은데, 이를 효율적으로 사용하기 위한 전략.

html문서의 복잡성을 줄이거나 유지보수(내용과 스타일의 분리)를 위해서 css파일을 분리하여 작성한다.

적용하는 법[편집 | 원본 편집]

상위에서 <style>을 정의하고 이후의 태그에서 사용되는 스타일을 적용한다.

태그 안의 class 속성을 지정하여 스타일을 적용할 장소를 지정한다.

다음은 html 안에서의 스타일 적용 예시이다.

의도 설명 코드
단순 적용 선택자를 두어 해당 class를 가진 태그에 적용할 속성을 지정한다.
<style>
    .box {
        width:200px;
    }
</style>

    
<div class="box"></div>
자식에 적용 선택자 띄고 선택자를 통해 class안의 class가 성립할 때 적용할 속성을 기입한다.

wrap 안의 box에만 적용한다.(다른 box태그엔 적용되지 않는다.) .wrap 쓰고 한 칸 띄고 .box를 넣는다.

<style>
    .wrap .box {
        width:300px;
    }
</style>
    
<div class="wrap">
    <div class="box"></div>
</div>
해시기호 class가 아니라 id 적용대상으로 삼는다.
<style>
    #box {
        width:200px;
    }
</style>

    
<div id="box"></div>
특정상황 선택자 뒤에 : 를 붙이면 가상선택자가 된다.

hover같은 경우, 마우스를 올리면 나타나는 효과를 적용한다.

<style>
    .icon:hover{
        width:300px;
    }
</style>
    
<div class="box"></div>

.box와 같이 적용할 영역을 지정해주는 걸 선택자라 부른다. 그 안에 적용하는 내용들은 속성, 그 속성값을 값이라 부른다.

css파일[편집 | 원본 편집]

css파일을 작성할 때 html에 적용하기 위해선 html의 head 안에 <link rel="stylesheet" href="경로.css">를 넣어준다.

여기서 적용하는 css는 외부 css라 부른다.(html에서 직접 짜는 건 내부 css라 한다.)

작성요령[편집 | 원본 편집]

주석은 /* 주석 */ 형식으로 입력한다.

성질[편집 | 원본 편집]

부모에게 주는 속성과 자식에게 주는 속성으로 나뉜다.

css로 작성한다.

부모의 성질[편집 | 원본 편집]

#container{
    /*기본적으로 가로정렬. colum으로 두면 세로정렬*/
    flex-direction: row;
    /*메인축 정렬. center, end, space-between(요소별로 여백 주기)  정렬을 정한다.*/
    justify-content: 
    /*서브축 정렬. 다양한 옵션이 가능하다.*/
    align-content: center;
}

자식의 성질[편집 | 원본 편집]

자식은 한 칸 띄워 작성한다. 다음은 컨테이너 id 안의 아이템 class를 가진 요소에만 적용한다는 의미.

#container .items{
....
}


적용 우선순위[편집 | 원본 편집]

같은 이름의 스타일을 적용시킬 때.

가장 우선시 되는 건 style 속성에 넣은 것.

그 다음은 직접 짠 CSS.

그 다음은 불러온 CSS.


[편집 | 원본 편집]

html 파일을 작성할 때 .클래스명만 입력하고 tab을 누르면 대부분의 편집기에선 class 안에 입력한 클래스명을 넣어 div태그를 만들어준다. 일일이 <div class="클래스명"></div>를 치는 불편함을 해소해준다.

아이콘을 CSS에서 처리해 HTML에선 class속성만 주어 아이콘을 나타내기도 한다.