ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [XTML/CSS] 개발자 지망생 스터디 - 2일차
    스터디/KAKAOCLOUDSCHOOL 2022. 11. 4. 21:32

    XHTML 요소

    ■ 영역 태그

        ▶ div (division)

            → 블럭 요소 (Block Element)

             기본적으로 좌우에 다른 요소가 배치될 수 없음.

            영역을 만들 때 자주 사용 됨.

             사용 형식

    <div>
       블록 요소(Block Element)
    </div>

    블록 요소 영역

        ▶ span

            → 인라인 요소 (Inline Element) 이므로 <p>와 <ul> 요소와 같은 블록 요소를 포함할 수 없음.

            기본적으로 좌우에 다른 요소가 배치될 있음

             사용 형식

    <span>
      인라인 요소(Inline Element)
    </span>

    인라인 요소 영역

     

        ▶ iframe

            → 다른 웹 문서를 가지고 와서 표시하는 요소

            → 속성

                - width, height

                - name

                - seamless

                - src : 표시할 문서의 URL

            → 사용 예 : 카테고리(ex:해외 야구, 축구 등) 버튼 클릭시 변경되는 사이트를 만들수 있는 태그

     

    CSS

    ■ CSS (Cascading Style Sheet)

        ▶ 웹 페이지에 " 디자인 "이라는 시각적 가치를 부여하기 위한 언어. 즉, HTML 문서에 시작적인 효과를 부여하기 위한 언어

        ▶ HTML code 작성 시, 위 또는 아래에 코드를 위치해도 상관 없이 동작함.

         CSS의 표준 : Level CSS2.1, 3

     

    ■ 작성 방법

        ▶ external : 별도의 파일에 작성하고 가져와서 사용 함.

        ▶ internal : HTML 문서안에을 만들고 작성

        ▶ inline : 태그 안에 style 속성에 작성

     

    ■ 기본 선택자

        ▶ *(asterisk) : 전체 사용자로 모든 요소에 적용

        ▶ tag : 태그 선택자

        ▶ .class : class 선택자

            → 여러 요소를 그룹화하기 위해서 사용, 대부분 스타일 적용에 사용

        ▶ #id : id 선택자

            → 문서 내에서 구별하기 위해서 사용, 대부분 자바스크립트에서 사용

     

    🎲 기본 선택자 실습

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8"/>
            <title>기본 선택자</title>
        </head>
        <body>
            <h1>제목 태그</h1>
            <p class="paragrah">문단 태그</p>
            <p class="paragrah">문단 태그</p>
            <p>문단 태그</p>
            <p id="identifier">문단 태그</p>
            <style>
                h1{
                    color:orange;
                }
                .paragrah{
                    color:blue;
                }
                #identifier{
                    color:mediumaquamarine;
                }
            </style>
        </body>
    </html>

    실행 결과

    ■ 속성 선택자

        ▶ 선택자[속성] : 선택자 안에 속성이 존재하는 경우만 적용

    <a href=“https://kakao.com”>카카오</a>
    <a>카카오</a>
    
    a[href]:{}

        ▶ 선택자[속성=값]: 선택자 안에 속성의 값까지 일치하는 경우만 적용

    input[type=“text”]{}

            → Input 태그 중에서 type이 text인 경우에만 적용

        ▶ 부분 일치

            → A^=B : A속성의 값이 B로 시작하는 경우

            → A$=B : A속성의 값이 B로 끝나는 경우

            → A*=B : A속성의 값에 B 포함된 경우

     

    ■ 복합 선택자

        ▶ 일치 선택자 : 선택자1선택자2...

            → 공백없이 여러선택자를 나열하면 모든 선택자가 일치해야 함.

            → div.content{} ->div태그 중에서 class 속성이 content인 경우에 적용

     

        ▶ 자식 선택자 : 선택자1 > 선택자2 (왼쪽 부등호로 구분)

            → 선택자1에 포함된 선택자2 인데 바로 아래 레벨이 있어야 함.

    <div><span></span></div>
    <div><ul><span></span></ul></div>

            → div > span 으로 작성하면 위의 경우에만 적용

     

        ▶ 하위 선택자 : 선택자1 선택자2 (공백으로 구분)

            → 부모 요소에 포함된 모든 자식 요소를 대상으로 스타일 적용. (선택자2가 선택자1에 포함되어 있으면 적용)

    <div><span></span></div>
    <div><ul><span></span></ul></div>

            → div span 으로 작성하면 위의 모든 경우에 적용

     

        ▶ 인접 형제 선택자 : 선택자1 + 선택자2 (플러스 기호로 구분)

            → 선택자1과 동일한레벨에서 다음에 나오는 선택자2에 적용

    <h1>대제목</h1>
    <h2>제목1</h2>
    
    <h2>제목2</h2>

            → h1 + h2 : 이 경우 제목1에만 적용

     

        ▶ 형제 선택자 : 선택자1 ~ 선택자2

            → h1 ~ h2 : h1과 동등한 레벨에 있는 모든 h2에 적용

     

        ▶ 그룹 선택자 : , 로 구분

            → , 함께 나열하게 되면 나열된 선택자 중에 포함되면 적용

     

    ■ 의사 클래스 (seudo-classes selector)

        ▶ 상황에 따라 스타일을 적형하는 방법으로 선택자 뒤에 : 을 하고 작성

            → Link

                - link (a : link = 링크에 모두 적용)

                - visited (a : visited = 링크에 한번이라도 누른 경우 적용)

            → 동작

                - hover : 마우스가 올라오면

                - active : 마우스를 누르면

                - focus : input에서 포커스가 오면

            → UI 요소 상태

                - checked : 체크상태

                - enabled : 활성화

                - disabled : 비활성화

     

        ▶ 구조 선택자

            → root : 최상위 요소

            → first-child, last-child : 첫 번째 자식 요소 와 마지막 자식 요소

            → nth-last-child(n) : 뒤에서 n 번째 자식 요소

            → nth-child(n) : n 번째 자식 요소

            → only-child : 자식이 하나인 요소

            → not(선택자) : 부정 요소

            → empty : 자식이 없는 요소

            → first-line, first-letter

            → only-child : 형제가 없는 요소

            → nth-of-type(n), first-of-type, last-of-type, only-of-type(타입이 하나인 요소)

     

        ▶ lang(languagecode): 특정 언어 설정에만 적용

            → 언어코드 2자리 - 국가코드 2자리

                - Ex) ko-KR, en-US…

     

        ▶ 의사 요소 (pseudo-elements) 선택자

            → ::first-letter

            → ::first-line

            → ::before

            → ::after

            → ::selection

     

    ■ 상속

        ▶ 하위 요소가 상위요소의 값을 물려받는지 여부

        ▶ 속성 별로 다르게 적용되는데 폰트 관련된 속성은 대부분 상속됨.

        ▶ 어떤 속성이 상속되지 않는 경우, 상속을 받고자 하면 inherit 로 값을 설정하면 됩니다.

     

    ■ 우선 순위

        ▶ 하나의 요소에 동일한 속성의 값을 2개 이상 적용하는 경우 충돌이 발생

            → 마지막에 작성된 요소가 우선순위를 가짐.

            → 태그 안에 작성한 style이 우선 순위가 가장 높음

            →외부 파일에 작성한 것과 <style> 태그 안에 작성한 것은 나중에 작성한 것이 우선 순위가 높음

        ▶ 동일한 방식으로 작성된 경우, 특정도를 가지고 우선 순위를 적용

    선택자 사용 예 특정도
    type 선택자 p 1
    class 선택자 .class 10
    id 선택자 #id 100
    inline 스타일 style="color:red: 1000
    가상 요소 :first-line 1
    가상 클래스 :hovor 10

    ■ 단위 (Unit)

        ▶ 절대단위 : 불변의 단위

            → cm

            → mm

            → in

            → px : 픽셀로 1/96인치 해상도 같은 것을 표현할 때 주로 사용하는 단위

                - 1920 * 1024의 경우 가로 1920점, 세로 1024점을 출력할 수 있다라는 의미

                - 화면의 확대 축소에 따라 변하기도 하기 때문에 상대 단위라고 하기도 함

            → pt : 1/72 인치

            → pc : (파이 카) 12pt

       ▶ 상대단위 : 화면 크기나 디바이스 크기에 따라 다르게 적용

            → px

            → %

            → em : font-size가 기준, 글꼴 크기가 16px

                - 1 em = 16 px

                - rem은 최상위 요소의 글꼴 크기

                - 주변의 글자 보다 크기가 1.5배 되도록하고자 할 때는 1.5em

            → ex : 소문자 x의 높이로 em의 절반

            → ch : 숫자 0의 너비

        ▶ 각도

            → deg

            → rad

        ▶ 디바이스 크기의 다양화

            → 화면 출력을 할때는 상대 단위 를 권장

            → 인쇄를 할 때는 절대 단위 를 사용하는 것을 권장

     

    ■ Typography : 문자 또는 기호를 중심으로 한 2차원적 표현

        ▶ font-family : 폰트 나열

            → 폰트가 없을 때 다른 폰트를 적용하기 위해서 나열

                - EX) font-family : 돋움, sans-serif // 돋움이 없으면 sans-serif를 적용

        ▶ @font-face

            → 폰트가 없을 때 다운로드를 받을 수 있도록 해주는 속성

    @font-face{
    	font-family:글꼴 이름
    	src:url(글꼴 파일의 경로) format(파일 유형)
    }

     

        ▶ font-size : 글꼴 크기

            → 키워드(xx-small, x-small, small, medium, large, x-large, xx-large, smaller, larger…)로 설정 가능

            → 직접 단위 설정 가능

            ❗️em 단위로 설정하는 것을 권장

     

        ▶ font-weight : 글자 두께

            → 100 ~ 900 까지 100단위로 설정 가능

            → normal, bold, bolder, lighter와 같은 키워드 설정 가능

     

        ▶ font-style

            → italic을 설정하면 기울임

     

        ▶ font-variant 

            → small-caps 를 설정하면 소문자를 작은 대문자로 변형

     

        ▶ font

            → 앞의 6가지를 한꺼번에 적용하기 위해서 사용

                - Font:weight style variant size line-height font-family 다른 모든 속성은 생략이 가능

                - font-size와 font-family는 생략 불가

     

        ▶ color : VS code에는 사용을 잘 하지 않음 (코드 센스로 색상 추출 기능을 제공)

            → 요소의 전경 색상

                - 대부분 글자에만 적용됨

            → 키워드로 설정할 수 있음

            → #16진수 6자리

            → rgb(0~255까지의 숫자 3개 나열)

            → 3개 숫자 대신 백분율로 설정할 수 있음

            → rgba 사용시 투명도 설정이 가능. hsl도 있음

            → 색상 키워드

                - 참조 : https://www.learningwebdesign.com/colornames.html

            → 색상 추출

                - 참조 : https://www.webfx.com/web-design/color-picker

     

        ▶ text-decoration

            →  밑줄이나 취소선 등의 효과를 설정

            → none, underline, overline, line-through, blink 등으로 설정

            → a 태그를 이용해서 버튼 효과를 나타낼 때, none으로 설정하는 경우가 있음.

                - a 태그에 밑줄을 긋는 것 보다는 색이나 두께로 알려주는 것을 권장

                - 일반 텍스트에는 underline을 사용하지 않고 강조를 하고자 한다면 italic으로 기울임을 설정하는 것을 권장

     

        ▶ text-transform

            → 영문의 대소문자 변환을 설정

            → none, uppercase, lowercase, capitalize 등을 이용.

     

        ▶ white-space : 설명문을 만들때 주로 사용

            → 공백 문자 설정

                - normal : 여러 개의 공백을 하나로 처리

                - nowrap : 여러 개의 공백을 하나로 처리하고 영역 너비를 넘어가면 줄 바꿈하지 않고 한 줄로 표시

                - pre : 여러 개의 공백을 그대로 처리하고 영역 너비를 넘어가면 줄 바꿈하지 않고 한 줄로 표시

                - pre-wrap : 여러 개의 공백을 그대로 처리하고 영역 너비를 넘어가면 줄 바꿈하여 표시

                - pre-line : 여러 개의 공백을 하나로 처리하고 영역 너비를 넘어가면 줄 바꿈하여 표시

     

     Paragraph : 문단 관련 속성

        ▶ text-align

            → 문단의 가로 정렬

            → 셀이나 인라인 요소에 적용할 때는 내용보다 너비가 더 커야 설정됨.

                - start, end, left, center, right, justify(문단의 시작을 왼쪽에 끝을 오른쪽에 맞추어 여백을 조정)

        ▶ text-justify

            → text-align에 justify를 적용했을 때 공백을 조절

                - auto : 웹 브라우저가 조절

                - none : 정렬하지 않음

                - inter-wood : 단어 사이의 공백을 조절

                - distribute : 글자 사이의 공백을 조절

        ▶ text-indent

            → 첫 줄 들여쓰기

            → 양수를 설정하면 들여쓰기 이고 음수를 설정하면 내어쓰기

        ▶ letter-spacing

            → 문자 사이의 간격

        ▶ line-height

            → 문단의 행 사이의 간격

        ▶ word-break

            → 줄 바꿈 옵션

            → 주로 keep-all 을 사용하며 설정하면 단어 단위 줄 바꿈

        ▶ direction

            → rtl을 설정하면 오른쪽에서 왼쪽으로 출력 (주로 아랍어에서 사용)

        ▶ vertical-align

            → 인라인 요소끼리으 세로 위치를 설정

                - sub, super, top, text-top, middle, bottom, text-bottom

                - 이미지 주위에 텍스트를 배치할때 많이 이용

     

    ■ text-shadow

        ▶ 글자에 그림자 효과

        ▶ CSS3에서 추가된 속성으로 구형 브라우저에서는 적용이 안됨

        ▶ 수평 오프셋, 수직 오프셋, 흐릿해지는 반경, 색상 순으로 설정

            → 수평 오프셋, 수직 오프셋이 일치하면 하나만 설정해도 무관

        ▶ 속성을 나열한 후 ,를 하고 다시 설정하면 여러 개 적용이 가능

     

    ■ list

        ▶ list-style-type

            → 목록의 머리 부분 설정

                - None, disc, circle, square, decimal, decimal-leading-zero, upper-alpha, lower-alpha, upper-roman

                - lower-roman, upper-latin, lower-latin, lower-greek, Armenian, Georgia, katakana, hiragana

        ▶ list-style-image

            → 이미지 파일을 마커로 사용

            → url(이미지 파일의 경로)

        ▶ list-style-position

            → 마커의 위치

            → Inside와 outside를 설정할 수 있음.

        ▶ list-style에 3가지를 동시에 설정 가능

            → 이 경우는 type, position, image 순으로 작성

     

    ■ background

        ▶ background-color

            → 배경색으로 color와 동일한 방식으로 설정

        ▶ background-image

            → 배경 이미지를 설정하는 것으로 url(경로)

            → >> ,를 이용해 여러 개 적용이 가능함. 순서대로 적용이 됨.

        ▶ background-repeat

            → 이미지의 반복을 설정

            → 이미지가 배경보다 작을 떄 적용

            → repeat, repeat-x, repeat-y, no-repeat 설정 가능

        ▶ background-position

            → left, right, center, top, bottom, 직접 숫자 입력 가능

        ▶ background-attachment

            → 스크롤 할 때 이미지의 이동 여부

            → fixed를 설정하면 이미지 고정이 되고, scroll을 설정하면 배경 이미지도 스크롤 됨.

        ▶ background-size

            → 배경이미지의 크기

                - auto : 원본 이미지 크기 그대로 출력

                - 숫자 2개 : 너비와 높이

                - 숫자 1개 : 너비 설정이고 높이는 auto

                - cover : 너비와 높이 비율을 맞추어서 확대하거나 축소하는데 큰 값을 적용

                - contain : 너비와 높이 비율을 맞추어서 확대하거나 축소하는데 작은 값을 적용

        ▶ background-clip

            → 적용 범위

                - border-box : 테두리까지 적용

                - padding-box : 테두리를 제외

                - content-box : content에만 적용

        ▶ background

            → color, image, 반복여부, position, attachment를 한꺼번에 적용하기 위한 속성

     

    ■ gradation : CSS3 에서 지원하는 것으로 여러 색상을 혼합해서 사용하는 속성

        ▶ vendor-prefix

            → CSS3의 기능 중에는 표준으로 채택되지 않아 브라우저 별로 별도로 기능을 제공할 때 사용하는 기호

                - 사파리나 크롬 : -webkit- 을 추가

                - 파이어폭스 : -moz-

                - MS : -ms-

                - 오페라 : -o-

            → CSS3는 현재도 표준을 계속 추가

            → 때문에 vendor prefix를 이용하는 기능 중에는 최신 브라우저를 사용하면 vendor-prefix를 생략해도 되는 경우가 있음.

        ▶ linear-gradient

            → 선형 그라데이션

            → 각도, 색상 값을 나열

            → vendor prefix 이용

        ▶ radial-gradation

            → 원형 그라이데이션

            → radial-gradient

                - 시작점의 위치, circle의 모양, 색상 나열

        ▶ 그라데이션을 직접 생성하는 것은 쉽지 않음

            → 참조 : http://www.colorzilla.com/gradient-editor 에서 코드 복사 후 사용하는 것이 편리함.

     

     Box Model

        ▶ 영역에 대한 설정

            → width : 콘텐츠 영역의 너비

            → height : 콘텐츠 영역의 높이

            → border : 경계선

            → padding : 경계선과 콘텐츠 사이의 여백

            → margin : 영역과 영역 사이의 여백

        ▶ padding 과 margin은 서로 여백을 나타내므로 구분을 명확히 해야함.

        ▶ IE의 호환 모드

            → IE의 하위 버전들은 padding을 width와 height에 포함시켜 계산

                - Width:100px

                - Heigh:100px

                - Padding:30px

            → 일반 브라우저들은 160px (100+30+30) 을 확보해서 표시

            → IE 하위 버전은 100px 만을 확보해서 표시

        ▶ margin collapsing(마진 겹침)

            → 연속배치된 요소들에 마진을 전부 설정하면 마진은 중복 적용되지 않고 큰 값 1개만 적용

        ▶ box-sizing

            → box의 크기를 설정할 때 기준을 정하는 것

            → content-box를 설정하면 내용을 기준으로 box의 크기를 설정

            → border-box를 설정하면 경계선을 기준으로 함

        ▶ 크기 설정

            → width와 height를 가지고 설정

            → max-height, min-height, max-width, min-width를 이용해서 최대 및 최소 크기를 설정하는 것도 가능

        ▶ 여백 설정

            → padding과 margin으로 설정

            → padding 이나 margin에 하나의 숫자를 설정하면 좌우 상하에 동일하게 적용

            → 상하좌우 여백을 따로 설정하고자 하면 -left, -right, -top, -bottom 을 이용해서 설정.

        ▶ visibility

            → 요소의 내용을 숨기거나 표시하고자 할 때 사용하는 속성

            → visible, hidden, collapse로 설정

        ▶ overflow

            → 내용이 영역보다 큰 경우의 옵션 설정으로 visible, hidden, scroll, auto가 있음.

        ▶ text-overflow

            → text가 영역보다 긴 경우의 옵션 설정으로 clip(내용을 잘라서 보이지 않음)과 ellipse(…을 표시)를 설정할 수 있음.

            → 영역보다 큰 경우 더 보기 같은 버튼을 만들어서 출력하는 경우가 많음.

            → 페이스북 앱은 text가 많은 경우 더 보기 기능을 제공

                - 더 보기 를 누르면 아래가 펼쳐지는 형태로 디자인함.

                - 이러한 디자인을 카드형 레이아웃 이라 부름.

        ▶ floating

            → 블록 요소 주위에는 다른 요소가 배치될 수 없음.

            → 블록 요소 주위에 다른 요소를 배치하고자 할 때

                - 블록 요소를 inline 요소로 변경하거나 float 속성을 이용해서 영역은 차지하지만 공중에 떠 있는 형태로 만들어서 할 수도 있음.

            → float 속성에는 left, right, none을 설정할 수 있음.

            ❗️인라인 요소에도 float 속성을 설정할 수 있는데 인라인 요소에 float 속성을 설정할 때에는

                width, height를 설정하는 것이 좋음. 설정하지 않으면 콘텐츠를 표시하는 영역이 최대한 확장이 되버림.

            → float 속성이 적용된 상태에서 해제

                - clear 속성에 none, left, right, both를 설정해서 해제 : 블록 요소에서만 가능

                - overflow 속성에 auto나 hidden을 설정해서 해제 : 부모 요소에 설정

                - float 속성을 부모 요소에 설정해서 해제

        ▶ 크기 조절

            → resize 속성에 horizontal 이나 vertical, both를 설정해서 크기 조절이 가능하도록 할 수 있음

        ▶ 그림자 설정

            → box-shadow : 수평오프셋 수직오프셋 흐릿함과 확산 정도 색상

            → 수평 오프셋 앞에 inset을 설정하면 그림자가 내용 안으로 출력.

     

        ▶ 경계선

            → border-style : 경계선의 모양

                - none, dotted, dashed, solid, double, groove, ridge, inset, outset을 설정. 

                - 그냥 사용하면 상하좌우 경계선이 모두 동일한 모양이 됨.

                - border-left-style, border-right-style, border-top-style, border-bottom-style 설정 = 방향 별로 설정

            → border-width : 경계선의 두께

                - thin, medium, thick으로 설정할 수 있고 값과 단위를 직접 지정할 수 있음.

                - 방향 별로 설정할 수 있음

            → border-color : 경계선의 색상

            → border : 두께 종류 색상을 한꺼번에 설정

            → border-radius : 경계선에 라운드 효과를 설정

                - CSS3에서 추가된 설정

                - 값을 1개만 설정하여 상하좌우 모두 동일한 값으로 적용 가능

                - 숫자 4개를 설정해서 상하좌우를 다르게 설정 가능

                - ,로 구분하고 다시 설정해서 여러개의 값을 적용 가능

            → image border (이미지 보더) : 보더에 이미지 설정 가능

                - border-image-source:url(이미지 파일 경로)로 설정

                - border-image-slice: 값 4개로 잘라내기 설정

                - border-image-repeat : stretch, repeat, round, space 중 하나의 값을 설정해서 반복 여부를 설정

                - border-image-width : 숫자로 두께 설정

                - border-image-outset : 숫자로 경계선과의 거리를 조정

            → display : 박스의 보기 모드를 변경

                - block : 블록 요소로 만들어 짐

                - inline : 인라인 요소로 만들어지는데 height가 무시

                - inline-block: 인라인 요소로 만드는데 주위에 콘텐츠가 배치 되지 않고 height 가 적용

            → opacity : 불투명도 설정

                - 0과 1사이의 소수로 설정하는데 1이면 100% 불투명이 되고 0이면 투명

            → position : 요소의 배치 방법을 지정하는 속성으로 기본 값은 static

                - static : 위치 기준이 없는 것으로 순서대로 배치하는 것인데 left나 top을 사용할 수 없음.

                - relative : 이전에 출력된 내용과의 관계를 이용해서 출력되는데 이 경우에는 left 나 top를 이용해서 이전 내용과의 거리를 설정

                - absolute : 부모의 왼쪽 위를 기준으로 해서 배치되는 것으로 left 나 top을 이용해서 부모에서의 위치를 설정

                - fixed : 웹 브라우저의 스크린 기준으로 배치되는 방식 >> 광고 배너에 자주 사용됨.

                - sticky : 스크롤 영역을 기준으로 배치

                - absolute 나 fixed를 설정하면 그 요소의 display는 block으로 자동 변경됨

            → 위치 : left, right, top, bottom을 이용해서 위치를 설정

            → z-index : 겹쳐서 출력할 때 순서 설정

                - 숫자가 클수록 위에 배치가 됨.

     

    ■ display:flex

        ▶ 하나의 컨테이너를 생성해서 요소들을 가로나 세로 방향으로 배치하는 레이아웃

        ▶ 모바일 웹에서 가로 방향으로 요소들을 배치해서 가득 채우고자 할 때 사용

        ▶ 정렬 방법이나 크기 방법등을 설정해서 사용

        ▶ flex 레이아웃이라 부르기도 함.

     

    ■ 다단

        ▶ 가로 화면을 여러 개로 분할해서 콘텐츠를 배치하는 것으로 모바일에서는 가독성의 이유로 잘 사용하지 않음.

        ▶ 모바일은 가로는 가득 채우고 세로로 스크롤 할 수 있도록 만들기 때문에 내용이 많으면 세로 방향으로 스크롤 하도록 해서 출력함.

     

    ■ Table

        ▶ Table 관련 display 속성

            → 과거에는 서버가 데이터를 xml로 주는 경우가 많았음

            → xml로 전송된 데이터를 표 형태로 출력을 할려고 하면

                - 데이터를 파싱해서 객체로 변환한 후 테이블 태그를 이용해서 출력

                - 이를 편리하게 하고자 할 때 display 속성을 이용하였음.

        ▶ table-layout

            → fixed를 설정하면 셀의 너비가 고정되고 auto를 설정하면 셀의 너비가 셀의 내용에 따라 변경됨

        ▶ caption-side

            → 캡션의 위치를 설정하는 것으로 top과 bottom을 설정할 수 있음.

        ▶ border-collapse

            → 테두리 관련 속성으로 기본값은 separate 인데 이 값은 표와 셀의 테두리가 구분되는 것

            → collapse로 설정하면 표의 테두리와 셀의 테두리가 한 묶음으로 만들어짐.

        ▶ border-spacing

            → 테두리의 간격으로 border-collapse가 separate 일 때 적용

        ▶ 셀 안에서의 정렬

            → 상하 정렬은 vertical-align 속성에 baseline, top, middle, bottom 으로 설정

            → 좌우 정렬은 text-align 속성에 left, right, center, justify 로 설정

        ▶ empty-cells

            → 빈 셀의 표시 여부로 show 로 설정하면 빈 셀이 보이고 hide로 설정하면 빈 셀이 보이지 않음.

     

    ■ cursor

        ▶ 커서 모양을 변경하는 것으로 url(이미지 파일 경로)로 설정할 수 있고, keyword를 이용해서 설정하는 것도 가능

     

    ■ outline

        ▶ 외곽선 속성으로 border와 동일한 방식으로 설정 가능한데 color에 invert를 이용해서 반전 효과를 만들 수 있음.

     

    ■ 변환(Transform - 행렬을 이용) 과 애니메이션

        ▶ 2D 변환

            → 이동 : 더하기

                - translate(x축 이동값, y축 이동값)

                - translatex(x축 이동값)

                - translatey(y축 이동값)

            → 크기 변환 : 곱하기

                - scale(가로 비율, 세로 비율)

                - scalex(가로 비율)

                - scaley(세로 비율)

            → 회전

                - rotate(각도 deg)

            → 비틀기

                - skew(x축, y축)

                - skewx(x축)

                - skewy(y축)

            → 한꺼번에 적용 : matrix(scaleX, skewX, skewY, scaleY, translateX, translateY)

            → 변환 기준점 설정 : transform-origin

     

    ■ 반응형 웹

        ▶ 화면의 크기에 따라 콘텐츠의 배치를 다르게 해서 동일한 콘텐츠를 사용할 수 있도록 디자인 하는 것
            → CSS의 Media Query와 meta 태그의 viewport 속성을 직접 설정해서 구현

            → 또는 bootstrap 같은 외부 라이브러리를 이용해서 구현

Designed by Tistory.