코딩 공부/코드스테이츠 TIL

Code States 11일차

fullfish 2021. 10. 21. 23:53

오늘의 키포인트

CSS (중급)
와이어프레임(Wireframe)
목업(Mock-up)

 

나의 이해

와이어프레임(Wireframe) : html만들기전 설계하는거
목업(Mock-up) : html문서 내에 하드코딩하는 것

 

문법 및 중요

 

 

# : htmlid속성 부여  // id는 문서내 하나의 요소에만 부여 가능
 <h1 id=’hi’> ~~~~<h1>
. : html
class속성
 <li class=’menu>~~~</li>
 

 

셀렉터
h1{} :
일반적인 셀렉터
*{} :
전체 셀렉터
section, h1{} : tag
셀렉터
#only{} : id
셀렉터
.only{} : class
셀렉터
--attribute 셀렉터--
a[href] { }
p[id="only"] { }
p[class~="out"] { }
p[class|="out"] { }
section[id^="sect"] { }
div[class$="2"] { }
div[class*="w"] { }
-------------------------
header h1{} :
후손 셀렉터
header > p{} :
자식 셀렉터
section + p{} :
인접 형제 셀렉터
section ~p{} :
형제 셀렉터 (모두)
--
가상 클래스--
a:link { }
a:visited { }
a:hover { }
a:active { }
a:focus { }
---------------------
--
요소 상태 셀렉터--
input:checked + span { }
input:enabled + span { }
input:disabled + span { }
----------------------------
--
부정 셀렉터--
input:not([type="password"]) { }
div:not(:nth-of-type(2)) { }
---------------------------

--
정합성 확인 셀렉터--
input[type="text"]:valid { }
input[type="text"]:invalid { }

후손(하위) 셀렉터 : 자신과 그 아래 또 그 아래 모두
자식 셀렉터 : 자신의 자식만


*{} :
모든 엘리먼트 선택  // html싹다 선택

, 는 다중선택  // h1, h2{} 하면 둘다 선택
#laber.center : id
laber이면서 classcenter인 것 선택 // 이땐 , 필요없음
#laber .center : id
laber인 엘리먼트의 후손(하위)classcenter인 엘리먼트 선택

p > b : p의 자식 엘리먼트 b 선택 // ex) header > p : header의 자식 엘리먼트 p 선택
p + b : p
와 인접한 형제 엘리먼트 b 선택
p ~ b : p
와 인접한 형제 엘리먼트 b 모두 선택
p[b] : p
엘리먼트 중에서 b속성을 갖는 모든 엘리먼트
p[id=’b’] : p
엘리먼트 중에서 idb인 속성을 갖는 모든 엘리먼트  
p[class=’b’] : p
엘리먼트중에서 classb인 속성을 갖는 모든 엘리먼트 // p중에서임 a하위에 b 클래스 있어도 해당 안됨
p:first-child : p
의 엘리먼트 중에서 첫 번째 자식 엘리먼트 선택 // 첫 번째라는건 자식여부가 아
  
닌 그냥 첫줄 말하는거
ul > li : last-child : ul
의 자식 엘리먼트 중 마지막 자식 엘리먼트가 li인것
ul > li : nth-child(3) : 3
번째
section > p : nth-last-child(2n+1) : section
의 자식 엘리먼트 p가 뒤에서부터 홀수인것
p : first-of-type : p
의 형제 엘리먼트중 처음으로 나오는 p  //first-child랑 다르게 첫 번째 자식 엘
 
엘리먼트가 아닌 처음 등장하는 p
p : nth-of-type(2) : 2
번쨰의 p
p : not(#only) : p
엘리먼트 중 idonly인 것을 제외하고 모두

ul > li : last-child : ul
의 자식 엘리먼트 중에서 마지막 자식 엘리먼트가 li인 것 선택

 

기본적인 레이아웃을 제거하는 코드

* {

  box-sizing: border-box;

}

 

body {

  margin: 0;

  padding: 0;

}

 

 

flexbox
부모박스에 display : flex를 적용해 자식 박스의 방향과 크기를 결정하는 레이아웃 방법
기본적으로 display : flex가 적용된 부모박스의 자식 요소는 왼쪽부터 차례로
flexbox
는 박스가 수직으로 분할되는게 기본값
flex-direction : row :
기본값 수직분할, column : 수평분할

grow(팽창 지수), shrink(수축 지수), basis(기본 크기)
자식요소에 flex속성을 추가하지 않으면 flex : 0 1 auto; 라는 기본값 적용
flex : <grow> <shrink> <basis>   //
이 순서임
grow :
자식 박스들의 grow를 다 더하고 그 비율대로 크기 할당
  ex)
자식 박스3개의 grow를 각각 2, 1, 1로 하면 처음 박스의 크기가 전체의 50%

shink :
비율만큼 작아짐 width, flex-basis속성에 따른 비율을 쓸 때 씀  일반적으론 예측 힘듦
basis :
박스 크기 지정 grow0일때만 적용
--
참고--
wudth
flex-basis를 동시에 적용하면 flex-basis가 우선
콘텐츠가 많아 자식 박스가 넘치면 width가 정확한 크기 보장x
(flex-basis
를 사용하지 않는다면) 콘텐츠가 많아 자식 박스가 넘치는 경우를 대비해, width대신 max-width를 사용 가능

flex-direction이 기본상태 즉 row일 때 main axis : 가로축, cross axis : 세로축
justify-content : main axis
를 기준으로 정렬
  
부모 박스에 justify-content를 적용하면 자식 박스를 수평으로 정렬
  flex-start :
처음
  flex-end :

  center :
중앙
  space-between :
양끝
align-items : cross axis
를 기준으로 정렬
 
부모 박스에 align-items속성을 적용하면 자식 박스를 수직으로 정렬
  flex-start
  flex-end
  center
  stretch

 


와이어프레임(Wireframe)
html
만들기전 설계하는거

목업(Mock-up)
html
문서 내에 하드코딩하는 것
하드코딩 : 변수, 반복문 이런거 안쓰고 싹 노가다로 하는거

마크업(Markup) 언어 : 태그 등을 이용하여 문서나 데이터의 구조를 만드는 언어

보통 묶을 때 <div> 쓰는데
<section>
은 제목, 컨텐츠가 포함된 구획나눌 때 렌더링은 div와 크게 다른건 없음
<form>
은 사용자 입력을 제출하는 용도로 보통 컨트롤(input, button)을 포함 그런데 화면을 전환
  
해버리는 액션이 있음

 

새로 안것

css도 위에서부터 아래로 감중복되는거에 대한 값이 바뀐다면 아래꺼가 적용

보통 묶을 때 <div> 쓰는데
<section>
은 제목, 컨텐츠가 포함된 구획나눌 때 렌더링은 div와 크게 다른건 없음
<form>
은 사용자 입력을 제출하는 용도로 보통 컨트롤(input, button)을 포함 그런데 화면을 전환
  
해버리는 액션이 있음

'코딩 공부 > 코드스테이츠 TIL' 카테고리의 다른 글

Code States 13일차  (0) 2021.10.26
Code States 12일차  (0) 2021.10.22
Code States 10일차  (0) 2021.10.20
Code States 9일차  (0) 2021.10.19
Code States 8일차  (0) 2021.10.18