728x90
반응형

Grid

:grid layout은 비교적 직관적이어서 다른 레이아웃보다 사전 지식이 덜 필요하다.

1차원적인 flex 방식과 다르게 2차원적인 grid는 컨테이너의 반응 방향(가로, 세로)을 각각 지정할 수 있어 더 다양한 배치와 정렬이 가능하다.

또한 미리 정의된 레이아웃 grid에 자식 요소를 배치할 수 있어서 유연하게 레이아웃을 정의할 수 있다.

 

display: grid;

grid로 레이아웃을 정의할 때 사용하는 구문.

 

grid 속성을 주면 자식 요소들은 block 속성을 가지게 된다.

lnline-grid 속성을 주면 inline 속성이 된다.

 

 

 

grid-template-rows

:행을 추가하고, 구분된 행(세로/heghit)의 크기를 정의한다. 

라인(Line)의 이름도 정의할 수 있다.

그러나 각 라인은 갯수대로 숫자(양수 or 음수)라인 이름이 자동으로 지정되어 있다.

그렇기 때문에 굳이 라인 이름을 정의할 필요는 없다.

그리드에서는 트랙이라고도 부름.

함수를 사용할 수 있다.

 

grid-template-rows: 100px 200px 480px;

 

 

 

grid-template-colums

:열을 추가하고, 구분된 열(가로/너비/width)의 크기를 정의한다.

grid-template-rows와 같이 라인의 이름도 정의할 수 있으며, 함수를 사용할 수 있다.

 

grid-template-columns: 600px 600px;

 

 

 

grid-template-areas

:지정된 그리드 영역 이름을 참조해 그리드 템플릿을 생성하고 각 컨테이너의 위치를 정의한다.

그리드 영역 이름은 grid item 즉, body 영역에 있는 요소들에게 주어야 하는 속성이다.

 

 

열과 행을 따라  그리드 영역을 지정해주어야 한다.

위와 같은 grid 레이아웃을 만드려면 aside는 하나만 들어가지 않고, 3번 들어간다.

article이 3개 있기 때문에 aside 영역도 하나만 주지 않고 3번 전부 주어야 한다.

 

ex)

 grid-template-areas: 
            "header header"
            "nav nav"
            "aside article1"
            "aside article2"
            "aside article3"
            "footer footer"
            ;

 

 

 

grid-row-gap

:각 열과 열 사이의 간격을 지정하는 속성.

그리드 선의 크기를 지정한다고 표현할 수도 있다.

grid-row-gap : 16px;

 

 

 

 

grid-column-gap

:각 행과 행 사이의 간격을 지정하는 속성.

grid-column-gap: 16px;

 

 

 

 

grid-gap

:각 행과 행 사이, 열과 열 사이의 간격을 한꺼번에 지정하는 속성.

grid 라인의 두께를 지정해주는 것이라고 생각해도 된다.

이 속성은 컨테이너에게 지정한다.

grid-gap: 16px 16px;

 

 

 

 

grid-auto-rows

:암시적인 열 크기를 정의하는 속성.

grid-template-rows를 지정하지 않은 요소들의 열의 크기를 암시적으로 정의한다.

grid-auto-rows: 100px;

 

 

 

grid-auto-columns

:암시적인 행 크기를 정의하는 속성.

grid-template-columns를 지정하지 않은 요소들의 열의 크기를 암시적으로 정의한다.

grid-auto-columns: 100px;

 

 

 

grid-auto-flow

:배치되지 않은 요소를 어떤 방식으로 자동 배치할 지 정의하는 속성.

속성값 설명
row 각 열 축을 따라 차례로 배치
column 각 행 축을 따라 차례로 배치
row dense 각 열 축을 따라 차례로 배치하여 빈 영역을 메우는 것
column dense 각 행 축을 따라 차례로 배치하여 빈 영역을 메우는 것

 

grid-auto-flow: row / row dense / dense;

 

 

 

grid-row(or column)-start

:grid 요소들을 배치하기 위해 grid 영역이 시작할 가장자리를 지정하여 위치를 지정하는 속성.

숫자로 지정하거나, 선 이름으로 지정하거나 span 키워드를 통해 지정한다.

grid-row-start: 1;

 

 

 

grid-row(columns)-end

:grid 요소들을 배치하기 위해 grid 영역이 끝날 위치를 지정하는 속성.

grid-row-end: 3;

 

 

 

 

 

 

728x90
반응형

 

 

 

flex

:요소들이 포함된 큰 박스에 flex를 선언하고, 안에 있는 요소들에게 유연하게 배치하는 속성들을 부여하여 레이아웃 구조를 잡는 것.

 

ex)

display: flex;

flex로 레이아웃을 설계한다고 선언할 때 사용하는 구문.

 

 

 

flex-grow

:자식 요소의 수가 적거나 그 크기가 작아 공간이 남을 때 항목의 크기를 늘려 채워주는 방법을 정의하는 속성.

1을 사용하면 공간이 남아도 한 줄 가득 꽉 채울 수 있다.

속성 값 설명
0 기본 값
1 항목들이 모두 1이면 같은 크기
양수 -값을 높게 줄수록 더 늘어남
-공간이 부족할 때에는 어떤 값도 무의미함
flex-grow: 1;

 

 

 

flex-shrink

:자식 요소가 많거나 그 크기가 커서 공간이 부족할 때 항목의 크기를 줄여 채워주는 방법을 정의하는 속성.

기본값이 1이기 때문에 자식 요소는 기본적으로 좁아진다.

(공간이 넘쳐도 한 줄로 줄여서 채울 수 있다)

속성 값 설명
0 공간이 부족해도 항목의 크기를 줄일 수 X
1 기본 값으로, 자식 요소들이 많아서 컨테이너에서 넘치면 안 넘치게 알아서 좁아짐
양수  -값을 높게 줄수록 더 좁아짐. (수축지수가 자동 계산됨)
-공간이 남을 때에는 어떤 값을 주어도 무의미함.
flex-shrink: 1;

 

 

 

flex-basis

:자식 요소들의 초기 길이를 지정하는 속성

float과 다르게 width 속성을 주지 않고 flex-basis를 사용한다.

 

속성값 설명
auto 기본 값
n px 양수를 주어 원하는 가로의 크기를 부여함.
flex-basis: auto;

 

 

 

flex-direction

:자식 요소를 나열하는 방향을 지정하는 속성.

부모 요소에게 지정해주어야 한다.

속성값 설명
column 위에서 아래로 나열
column-reverse 아래에서 위로 나열
row 좌측에서 우측으로 나열 (기본 값)
row-reverse 우측에서 좌측으로 나열
flex-direction: column;

 

 

 

justify-content

:공간이 남을 때 (flex-grow: 0;)일 대 자식 요소들을 가로로 정렬하는 속성

속성값 설명
flex-start 시작쪽으로 정렬 (보통 왼쪽)
(flex-direction:row-reverse 일 때에는 오른쪽)
flex-end 끝쪽으로 정렬 (보통 오른쪽)
(flex-direction:row-reverse 일 때에는 왼쪽)
center 중앙 정렬 (가운데 정렬)
space-between 양쪽 정렬 (요소들의 사이를  찢어놓음)
space-around 요소 좌우 동일 간격
justify-content: space-between;

 

 

 

flex-wrap

:flex 자식 요소들의 줄바꿈 방식을 지정ㅇ하는 속성

속성값 설명
wrap 자식 요소들이 많으면 다음 줄로 넘침
nowrap 자식 요소들이 많아도 한 줄 안에 배치됨
wrap-reverse 자식 요소들이 많으면 다음 위 줄로 넘침
flex-wrap: wrap;

 

 

 

flex-flow

:flex-direction과 flex-wrap을 나란히 붙여 하나의 속성처럼 쓸 수 있다.

그렇기 때문에 flex-flow의 기본값은 flex-flow: row nowrap;이다.

 

flex-flow: row nowrap;

 

 

 

align-items

:자식 요소들을 세로로 정렬하는 속성

속성값 설명
flex-start 시작쪽으로 정렬 (보통 위쪽)
(flex-direction: column-reverse 일 때는 아래쪽)
flex-end 시작쪽으로 정렬 (보통 아래쪽)
(flex-direction: column-reverse 일 때는 위쪽)
center 세로 중앙 정렬
baseline 글자의 baseline을 기준으로 정렬
stretch 부모 요소의 세로 크기를 따라 확장됨
(기본값)
align-items: center;

 

 

 

order

:자식 요소들의 순서를 바꾸어주는 속성

몇 번째에 배치할지 순서를 지정해줍니다.

속성값 설명
0 순서를 바꾸지 않음 (기본값)
양수 원하는 순서를 지정
음수 좌측으로 자리를 바꾸는 횟수

 

<div style="order:1;"> </div>

 

 

 

align-self

:자식 요소 중 선택된 항목에 대해서만 세로로 다시 정렬하는 속성.

속성들은 align-items의 속성들과 같다.

 

align-self: flex-end;

 

 

 

align-content

:flex-wrap; 일 경우 여러 줄을 세로로 정렬하는 속성

속성들은 align-items의 속성들과 같다.

align-content: flex-start;

 

 

 

 

 

 

 

 

728x90
반응형

font-family

문자에 글꼴을 지정하는 속성

여러 단어이거나 한글 글꼴인 경우는 따음표로 감싸고 여러 개의 글꼴을 쉼표로 구분한다.

지정한 글꼴이 없을 경우 그 다음 글꼴로 지정할 수 있다.

font-family: "NexonLv1Gothic" sans-serif;

 

 

 

font-size

:문자의 크기를 지정하는 속성.

크기를 명시하지 않을 경우 16px이 기본 값이다.

 

 

px

:해상도에 따라 달라지는 기본 단위.

font-size: 16px;

 

 

%

:부모 요소의 글자 크기를 100% 기준으로 계산한 % 단위.

부모 요소의 글자 크기를 따로 지정하지 않았다면 16px이 100%가 된다.

font-size: 150%;

 

 

em

:부모 요소의 글자 크기를 100% 기준으로 계산한 100분의 1 단위.

보통 16px 정도가 1em이다.

font-size: 1.5em;

 

 

rem

:부모 요소가 아닌 최상위 요소의 크기를 100% 기준으로 계산한다.

rem의 r이 rooy, 즉 html 요소를 뜻한다.

html 요소에서 지정한 클자 크기가 1rem이 된다.

font-size: 1.5rem;

 

 

vw(view width), vh(view height)

: 각각 뷰포트[각주:1] 너비와 높이 값의 100분의 1 단위

(주로 반응형에서 자주 쓰인다)

font-size: 10vw;

 

 

 

font-weight

:문자를 굵게(진하게) 하거나 굵은 문자를 보통으로 재설정하는 속성

font-weight: bold;				//굵은(진하게) 문자로 설정할 때

font-weight: normal;			//굵은 문자를 보통 문자로 설정할 때

 

 

 

font-style

:문자를 기울어지게 하거나(이탤릭체) 기울어지지 않게 재설정하는 속성

font-style: italic; 				//기울어지게 설정할 때

font-style: normal;					//기울어진 문자를 재설정할 때

 

 

 

font-variant

:작은 문자를 대문자로 설정하거나 원래 문자로 재설정하는 속성

font-variant: small-caps;			//작은 문자 -> 대문자로 설정

font-variant: normal;				//원래대로 설정

 

 

 

line-height

:줄간격을 설정하는 속성

단위로는 px, %, em 등이 있다. [각주:2]

단위를 생략하면 em으로 처리된다.

line-height: 1.6;

 

 

 

font

:font~로 시작하는 속성들은 한 줄로 붙여쓸 수 있다.

붙여 쓰는 경우는 반드시 세 가지 순서에 맞추어 써야 하며, 글자 크기와 글꼴은 생략할 수 없다.

 

ex)

font: [font-weight, font-style, font-variant], [font-size/line-height], [font-family] ;
body {font: bold 20px/1.6,"NexonLv1Gothic";

 

 

 

웹폰트

:언제 어디서나 원하는 글꼴로 페이지가 표시되도록 하려면 웹폰트를 사용하는 것이 좋다.

 

 

@font-face

:글꼴 파일을 업르도하여 사용하는 방식이다.

파일의 용량이 크면 로딩되는 속도가 느리고, 용량이 적으면 글자가 뭉개져 보인다.

css 파일 제일 상단에 위치해야 한다.

@font-face {
    font-family: 'CookieRun';
    font-weight: 400;
    font-style: normal;
    src: url('https://cdn.jsdelivr.net/gh/webfontworld/cookierun/CookieRunRegular.eot');
    src: url('https://cdn.jsdelivr.net/gh/webfontworld/cookierun/CookieRunRegular.eot?#iefix') format('embedded-opentype'),
        url('https://cdn.jsdelivr.net/gh/webfontworld/cookierun/CookieRunRegular.woff2') format('woff2'),
        url('https://cdn.jsdelivr.net/gh/webfontworld/cookierun/CookieRunRegular.woff') format('woff'),
        url('https://cdn.jsdelivr.net/gh/webfontworld/cookierun/CookieRunRegular.ttf') format("truetype");
    font-display: swap;
}

 

 

@import

css 파일 내에 @import를 이용하여 css를 연결하는 방식.

하나의 css 파일에 여러 개의 페이지 css를 로딩 시킨다.

 

@import url('https://webfontworld.github.io/SaenggeoJincheon/SaenggeoJincheon.css');

 

 

link

:html의 link 태그를 사용하는 css 연결 방식.

로딩 속도가 빠르고 css 파일 여러 개를 link 방식으로 연결하여 페이지를 로딩하여도 속도가 빠르다.

<link href="https://webfontworld.github.io/SaenggeoJincheon/SaenggeoJincheon.css" rel="stylesheet">

 

 

 

color

글자의 색상을 지정하는 속성.

color: yellow

 

 

색상 표현법

 

색상명

:해당 색상을 의미하는 고유 명사를 속성 값으로 사용한다.

색상값을 의미하는 단어를 미리 알고 있지 않으면 사용할 수 없다.

color: blue;
backgroung: red; 					//배경색
border-color: green;					//테두리색

 

HEX값

:빛의 삼원색 (빨강, 파랑, 초록)을 16진수 00~ff의 수치로 표현하는 것.

# 다음에 00~ff까지의 6글자가 온다.

color: #00ff00;

 

RGB 값

:RGB 형태로 기술하며, 10진수 0~255 사이의 수치로 표현한다.

color: rgb(255,128,0);

 

HSL 값

:hsl 형태로 기술하며, 색상은 0~360의 색 상환값, 채도(saturation)과 명도(lightness)는 % 값으로 표현한다.

color: hsl(300, 100%, 50%);

 

RGBA 값

:rgba 형태로 기술하며 a는 (alpha)를 의미한다.

alpha는 0~1 사이의 숫자를 사용하여  투명도를 나타낸다.

color: rgba(0, 0, 0, 0.2);

 

HSLA 값

:hsla 형태로 기술한다.

rgba와 같이 a는 alpha(투명도)를 의미하며, 0~1 사이로 수로 표현한다.

color: hsla(0, 100%, 100%, 0.5)

 

 

 

letter-spacing(글자 간의 간격), word-spacing(단어 사이의 간격)

:음수를 부여하면 원래 글자 간의 간격이 넓은 글꼴인 경우에도 글자 사이를 밀착시킬 수 있다.

 

letter-spacing: -px;				//글자 사이 간격

wold-spacing: 10px;				//단어 사이 간격

 

 

 

text-decoration

:글자에 밑줄, 윗줄, 가운데줄(취소선)을 치거나, 쳤던 줄을 없애준다.

 

속성 설명
underline 밑줄
overline 윗줄
line-throught 가운데줄 (취소선)
none 줄 없음

 

text-decoration: none;

 

 

 

tetx-transform

:대소문자 변경을 실행한다.

 

속성 값 설명
uppercase 대문자
lowercase 소문자
capitalize 첫 글자만 대문자

 

tetx-transform: capitallize;

 

 

 

text-shadow

:글자에 그림자를 주는 속성

 

형식

text-shadow: 그림자가 원본에서 떨어지는 가로 거리, 세로 거리, 흐릿하게 퍼지는 정도, 그림자의 색상
text-shadow: 2px 3px 5px rgba(0, 0, 0, 0.4);

 

 

 

 

 

 

 

  1. 현재 화면에서 사용자에게 보여지고 있는 영역 [본문으로]
  2. 이 역시 부모 요소의 font-size를 기준으로 한다. [본문으로]
728x90
반응형

▶선택자 (Selector)

-CSS의 UI로 어느 부분을 디자인할지 표현할 대상이 되는 부분

-요소를 선택하는 방법

 

 

▶type 선택자

- html 문서의 태그 이름을 선택자로 사용할 수 있음

 

▷ type 선택자 (빨간 밑줄)을 사용하여 h1 (노란 밑줄) 태그 안의 글자들을 보라색으로 표시하도록 속성을 부여함.

 

 

▶id 선택자

-html 문서의 요소 중 같은 요소라도 각기 다른 이름을 지정하여 속성을 부여할 수 있음

-유일한 이름을 부여해야 함

-선택자 앞에 #을 붙어서 사용함.

 

 

 

 

▷id명을 각기 다른 태그에 각기 다른 이름으로 부여함(빨간색 밑줄)

▷#을 사용하여 속성을 부여함 (파란색 밑줄)

 

 

▶class 선택자

- html 문서의 여러 요소 중 같은 이름을 갖는 요소들만 따로 모아 속성을 부여함.

-같은 이름을 부여할 때에 사용.

-여러 개의 요소에 같은 class 명을 부여할 수 있음. (노란색 밑줄)

-하나의 요소에 여러 개의 class 명을 부여할 수도 있음

-선택자 앞에 .를 붙임

 

여러 개의 요소에 하나의 class를 부여한 모습

▷ 여러 개의 요소에 하나의 class 명을 부여한 모습

 

 

▷같은 class를 가진 모든 요소에 공통된 속성을 부여할 수 있음 (빨간색 밑줄)

 

 

▷하나의 요소에 여러 개의 class 명이 부여된 모습 (분홍색 밑줄 )

 

 

 

▶전체 선택자 (*)

-페이지의 모든 요소를 가리킴.

- * 로 표시함

-어떤 id명이나 어떤 class 명이 부여되었든 상관없이 속성을 적용함.

 

 

▶하위 선택자

-요소 내부에 있는 모든 해당 요소를 가리킴.

-선택자 사이를 공백으로 분리

 

 

 

▷첫번째 빨간색 밑줄에서 class 명 사이와 태그 사이가 공백으로 분리된 것을 확인할 수 있음.

▷class 선택자 밖에 있는 p 태그에 있는 글자는 속성이 부여되지 않은 것을 확인할 수 있음.

 

 

 

▶자식 선택자

-요소 내부에 있는 해당 요소를 가리킴

-그러나 하위 요소의 하위 요소는 가리키지 않음.

-선택자 사이를 " > "로 분리함

 

 

 

▷선택자 사이를 " > " 로 분리함 (빨간색 밑줄)

▷요소 내부에 있는 해당 요소 P들(노란색 밑줄)은 속성이 부여가 되었음.

▷그러나 하위 요소의 하위 요소인 P들(파란색 밑줄)은 똑같은 P 태그 임에도 속성이 부여되지 않은 것을 확인 가능.

 

 

 

▶인접 선택자

-현재 요소의 바로 뒤에 나오는 요소만을 가리킴

-선택자 사이를 " + "로 분리함.

 

▷선택자 사이를 "+"로 구분함

▷h1과 인접해있는 p 태그(파란색 밑줄)에는 속성이 부여되었음.

▷그러나 인접해있지 않은 p태그 (연두색 밑줄)에는 속성이 부여되지 않았음.

 

 

 

▶형제 선택자

-현재 요소와 같은 계층에 있는 요소만을 선택함

- " ~ "로 구분함

-인접해 있지 않고 멀리 있어도 같은 계층에 있다면 속성이 부여됨

 

▷선택자 사이가 " ~ "로 구분됨 (빨간 밑줄)

▷같은 계층에 있는 p 태그들(연두색 밑줄)은 속성이 부여됨

▷그러나 하위 계층에 있는 p 태그들 (노란색 밑줄)은 속성이 부여되지 않음

 

 

▶그룹 선택자

-여러 선택자들을 " , " (반점)으로 구분하여 함께 묶어 속성을 부여하는 것

 

 

▷선택자가 " , " (반점)으로 구분된 것을 확인할 수 있음.

▷그룹으로 묶인 h1 태그와 p 태그(노란색 밑줄)는 속성이 부여된 것을 확인할 수 있음

▷그룹으로 묶이지 않은 h2 태그 (파란색 밑줄)은 속성이 부여되지 않은 것을 확인할 수 있음.

 

▶속성 선택자

html 요소의 속성 유무 또는 속성 값을  [ ] 중괄호 안에 넣어 선택자로 사용 가능.

속성 값 설명
h1 [class] class 명을 가진 h1 요소
img [alt] alt 속성을 가진 img 요소
p [class="abc"] class 명이 유일하게 'abc'인 p 요소
p [class~="abc"] class명이 유일하게 'abc'이거나 여러 개의 class명 중 하나가 'abc'인 p 요소
p [class|="abc"] class명이 'abc'이거나 'abc~'로 시작하는 p 요소
p [class^="abc"] class명이 철자 'abc'로 시작하는 p 요소
p [class$="abc"] class 명이 철자 'abc'로 끝나는 p 요소
p [class*="abc"] class 명에 철자 'abc'가 포함되어 있는 요소
a  [href^="mailto"] href 속성값이 'mailto'로 시작하는 a요소

 

▶가상 클래스 선택자

: 링크가 걸린 문자에 스타일을 부여하는 것

 

속성 값 설명
 a: link 링크가 걸린 문자에 속성을 부여하는 선택자
a:visited 링크를 클릭하여 해당 페이지에 갔다가 돌아온 경우의 속성을 부여하는 선택자
a :hover 링크가 걸린 문자에 마우스가 닿았을 겨우의 속성을 부여하는 선택자
a:active 링크 걸린 글자가 활성화 되었을 경우의 속성을 부여하는 선택자
(클릭했다가 돌아왔거나 클릭하려다 만 경우)
a:focus 링크 걸린 글자에 포커스가 생길 경우의 속성을 부여하는 선택자
(키보드의 [Tab]키 등으로 포커스가 나타날 경우)

 

▶가상 요소 선택자

속성 값 설명
:first-letter 요소의 첫 글자
:first-line 요소의 첫 줄
:first-child 같은 요소 중 첫 번째 요소
:last-child 같은 요소 중 마지막 요소
:nth-child (n) 같은 요소 중 n번째 요소
:before 요소 안 맨 앞에 배치 될 요소
(마크업에 없는 가상 요소)
:after 요소 안 맨 뒤에 배치 될 요소
(마크업에 없는 가상 요소)

 

 

▶종속 선택자

-type 선택자와 id선택자, class 선택자가 결합된 형태

 

예를 들어 마크업이 아래와 같다면,

<p id=atxt"> 선택자의 다양한 표현</p>

▷ #atxt와 p#atxt는 같은 선택자임.

▷ 그러나 우선순위는 p#atxt가 #atxt보다 높은 우선순위를 가짐.

▶선택자의 우선순위

같은 선택자가 여러 css 명령을 중복으로 받았을 때,

일반적으로 우선순위가 같은 선택자라면 나중에 기술한 것이 먼저 기술한 것보다 우선순위가 높음.

 

선택자 우선순위
전체 선택자 ( * ) 0
type 선택자
(p, h1, ul ···· 등)
1
가상 선택자
(first-child ···· 등)
10
class 선택자
(.abc ···· 등)
10
id 선택자
(#abc ···· 등)
100

 

▷요소에 직접 style=" " 형식으로 css를 기술하는 인라인 스타일은 어떤 선택자보다 우선으로 실행됨.

▷그 어떤 방법보다 최우선으로 CSS를 적용할 경우에는 선택자에 속성을 부여하는 마지막에 !important를 붙여줌.

ex) p { color: red !important; }  

 

▷ 전체 우선순위

 

Type 선택자 < class 선택자, 가상 선택자 < id 선택자 < inl line style < !important

 

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형

▶ float

-block 요소를 가로로 배치하는 속성.

-세로로만 나열되는 block들을 가로로, 서로 어울리게 배치하려 할 때 유용함.

-float 속성을 준 박스에 가로 사이즈를 지정해주어야 크로스 브라우징[각주:1] 됨.

-heading 요소나 인라인 요소들은 가로 사이즈 없이 float 해도 레이아웃이 흐트러지지 않음

 

▷ float 속성

left 요소를 왼쪽에 배치하고 나머지 컨텐츠는 그 주변을 흐르도록 함.
right 요소를 오른쪽에 배치하고 나머지 컨텐츠는 그 주변을 흐르도록 함
none float을 취소

 

좌 float 속성 전 모습 우 float 속성 후 정렬된 모습

- float 이전에 하단으로 나열되었던 컨텐츠들이 우측 옆에서  흐르는 모습을 확인할 수 있음.

(①과 ②에 모두 float 속성을 주어야 함.)

- float : right는 컨텐츠가 우측으로 붙었던 float : left와 달리 좌측에 컨텐츠가 붙는다는 것 외에는 차이가 없음.

 

 

▷사용법

float 사용법

- float 속성은 <head>(빨간밑줄)  태그 안에 <style>(노란밑줄) 선언을 하고 주어야 함(파란밑줄).

-그렇지 않으면 float 속성이 활성화 되지 않아 컨텐츠가 정렬되지 않음.

 

 

 

▶ clear

float으로 레이아웃을 설정하고 난 뒤에 컨텐츠가 계속 있으면 그 이후에 이어지는 컨텐츠가 화면에서 사라지거나 (깨짐현상) 같이 딸려 올라가 내용의 정렬이 맞지 않게 됨.

 

float 속성으로 인해 하단 컨텐츠가 없어진 모습

위에서 봤던 온전한 모양과 달리 하단 컨텐츠가 없어진 것을 확인할 수 있음.

이는 우측의 큰 박스가 float 됨으로써 하단 컨텐츠도 같이 끌어 올려졌기 때문.

 

clear 속성은 이런 현상을 해결하기 위해 float을 해제시켜주는 역할을 하는데 clear 속성이 사용될 요소는 block 요소여야 함.

 

 

▷clear 속성

left float 된 박스 중 좌측(왼쪽)이 짧을 때 좌측의 빈 공간부터 채워 내려옴 
right float 된 박스 중 우측(오른쪽)이 짧을 때 우측의 빈 공간부터 채워 내려옴
both  float 된 박스 중 어느 쪽도 채우지 않고 다시 한 단으로 배치

(left, right는 사용하는 경우가 거의 존재하지 않음.)

 

 

clear 속성을 주고 난 후의 모습

 

이번 예제 같은 경우는 하단의 컨텐츠가 어느 쪽도 짧지 않았기 때문에 clear :  both 속성을 주었음.

그 후에 하단의 컨텐츠가 제대로 표시되는 모습을 확인할 수 있음.

 

 

 

▷번외. clear를 사용하지 않고도 float이 해제되는 몇 가지 이유

1 - float 요소를 감싸는 박스가 이미 float 되어 있는 경우
(우연히 일어나는 경우가 드물며, 어차피 감싸는 박스의 float을 해제해야 함)
2 - float 된 요소를 감싸는 박스에 overflow : auto; 를 준다.
(세로 스크롤바가 생길 경우 사용할 수 없음, width[각주:2]값을 주어야 크로스 브라우징 됨)
3 - float 된 박스들을 감싸는 박스에 height[각주:3]값을 준다.
(세로 사이즈가 불변일 경우가 아니면 사용불능)

 

 

 

 

 

 

  1. 웹 페이지 제작 시 모든 브라우저에서 깨지지 않고 의도한대로 올바르게 나오게 하는 작업. [본문으로]
  2. 너비(가로) [본문으로]
  3. 높이(세로) [본문으로]
728x90
반응형
class 선택자  ID 선택자
같은 이름을 부여할 때 사용 중복하여 사용할 수 없음
여러 개의 요소에 같은 class 부여 가능 유일한 이름 부여할 때 사용 (고유성 O)
하나의 요소에 여러 개의 class 부여 가능  선택자 앞에 # (올림표)가 붙음.
선택자 앞에 .(온점)이 붙음 .
중복하여 사용 가능
class 이름 교체 가능 (개명 가능)
이름(id)을 여러 개 가질 수 있음
중복 선언 가능
숫자로 시작할 수 없음
주로 영문자로 시작함

 

 

 

▶class 선택자

-여러 개의 요소에 같은 class 부여 가능

  노란 밑줄은 전부 같은 class 이름(sample) 을 가지고 있음. 

 

 

 

-하나의 요소에 여러 개의 class 부여 가능

 분홍색 밑줄처럼 하나의 태그 안에 class가 두 개 들어있는 것을 확인할 수 있음.

 

 

 

-선택자 앞에 .(온점)이 붙음

파란색 밑줄 (class 선택자)는 선택자 앞에 .(온점)이 붙어 있고,

보라색 밑줄 (id 선택자)는 선택자 앞에 #(올림표)가 붙어 있는 것을 확인할 수 있음.

 

 

 

 

▶id 선택자

-유일한 이름을 부여할 때 사용

빨간 밑줄처럼 한 태그에 id 태그가 1개만 부여됨.

 

 

 

-선택자 앞에 #(올림표)가 붙음

 위의 사진에서 봤던 파란 밑줄 쳐진 id 선택자 앞에 전부 # (올림표)가 붙어 있음.

 

728x90
반응형

▶내부 스타일시트

-<style> 태그로 기재.

-문서 안에 CSS가 함께 저장되도록 하는 형태

 

 

 

▶외부 스타일시트

-스타일 속성들을 따로 저장, 파일명으로 연결.

-*.css 확장자를 가진 별도의 파일로 저장

-<link> 태그를 이용하여 선언.

 

CSS 확장자를 가진 파일이 별도로 존재

 

 

▶@import

-CSS 안으로 다른 CSS 파일을 불러들일 경우 사용.

-CSS의 맨 윗줄에 기재

-공통으로 들어가야 할 스타일을 따로 저장하여 다른 CSS에 삽입시켜 사용.

 

 

 

▶인라인 스타일

-태그에 직접 CSS를 정의해주는 기법.

-해당 요소에 style=" " 형식으로 기술.

-내부스타일과 외부 스타일보다 우선 적용됨.

-우선순위가 절대적으로 높아야 할 경우에 사용.

-공통 CSS로 수정 불가.

-일일히 열어서 수정.

 

 

+ Recent posts