css,layout

aom414·2021년 6월 30일

grid : 수직 and 수평
flex : 수직 or 수평

utility first css
tailwind css 은 따로 학습을 해보자!

레이아웃 나누기
html

<body>
	<div id="container">
    	<div class="col w10">
        	<div class="icon">아이콘1</div>
            <div class="icon">아이콘2</div>
            <div class="icon">아이콘3</div>
        </div>
        <div class="col w20">
        	<div class="row h40">영역1</div> 
            <div class="row h40">영역2</div>
            <div class="row h20">영역3</div>
        </div>
        <div class="col w70">
        	<div class="row h80">영역4</div>
            <div class="row h20">영역5</div>
        </div>
    </div>
</body>

css

* {
    box-sizing: border-box;
}


/* content-box 와 border-box의 차이점을 알아야한다!! */

/* id : #
class: : .  */

/* display: flex; -> 부모 
flex: 1 0 auto; -> 자식
flex-direction: column; -> 부모 */

/* flex-direction: row >> 이건 기본값이라서 따로 안적어도 됩다 */

/* vh???? 뷰포트 높이 화면에 높이값에 맞게 사용한다 */
/* css는 단위를 잘써줘야한다! */
/* px, rem ,em ....  */

/* 클래스 이름을 스페이스 단위로 두개 적은 효과가 적용된다 html에서 */
/* class="1 2 3" 이렇게 스페이스 넣고 계속 클래스명 추가 가능하다! */

#container {
    display: flex;
    min-height: 100vh;
    background: whitesmoke;
    padding: 0.4rem;
    margin: 0.4rem;
    border: 1px solid blue;
}

.col {
    display: flex;
    flex-direction: column;
    padding: 0.4rem;
    border: 1px solid red;
}

.w10 {
    flex: 1 0 0;
}

.w20 {
    flex: 2 0 0;
}

.w70 {
    flex: 7 0 0;
}

.icon {
    border: 1px dashed orange;
    margin: 0.4rem;
}

.icon:hover{
    background-color: yellow;
    cursor: grab;
}

.row {
    border: 1px dashed skyblue;
}

.h40 {
    flex: 4 0 0;
}

.h20 {
    flex: 2 0 0;
}

.h80 {
    flex: 8 0 0;
} 

a:hover의 의미???
마우스를 가져다 대면 색깔이 변하고 커서의 모양도 변하게 할수있다.

grow(늘린다):아이템들의 basis를 제외한 여백 부분을 grow에 지정된 숫자의 비율로 나누어 가진다.
shrink(줄인다): grow의 반대 라고 생각하자. basis 값보다 작아질 수 있는지. (0으로 세팅하면 basis보다 작아지지 않아 고정폭을 쉽게 만들 수 있다.)
basis(기본크기): 아이템의 기본크기

flex: 1 0 0 , flex-grow: 1 >> 이 두개가 같은 값

수직정렬 : align-items
수평정렬 : justify-content

id와 class를 어느 때에 사용할까?

id는 유일할때 혹은 고유한 값에 사용
class 자주 사용되는 스타일에 적용 (여러개 사용 가능)

와이어 프레임 : 화면 단위의 레이아웃을 설계하는 작업
목업: 실제품을 만들어보기 전, 실물과 비슷하게 시제품을 제작하는 작업
(목업:디자이너)
포로토타입: 처음부터 종료까지 핵심 동작이 가능하게 구현된 앱
(프로토타입:개발자)
하드 코딩: 데이터를 코드 내부에 직접 입력하는 것

profile
코린이

0개의 댓글