각각의 요소를 목적에 맞게 배치
어떤 목적을 가진 것인지 파악이 되어야 좋은 와이어프레임
https://www.sitepoint.com/css-architecture-block-element-modifier-bem-atomic-css/
참조: Get BEM http://getbem.com/introduction/
Website === a collection of reusable component 'blocks'
“block” here refers to the segments of HTML
"element" More granular than a block is. 요소는 블록에 종속되어있음.
블록이름 "__" 요소이름
블록이름 "__" 요소이름--수식어(modifier)
후손, 자식선택자 사용을 지양하고 클래스네임을 주어야 함.
요소 선택자, ID 선택자는 사용금지.
👉고유성을 적용해 충돌을 방지하기 위함
<form class="search">
<div class="search__wrapper">
<label for="s" class="search__label">Search for: </label>
<input type="text" id="s" class="search__input">
<button type="submit" class="search__submit">Search</button>
</div>
</form>
//darkmode일때
<form class="search search--inverse">
<div class="search__wrapper search__wrapper--inverse">
<label for="s" class="search__label search_label--inverse">Search for: </label>
<input type="text" id="s" class="search__input search__input--inverse">
<button type="submit" class="search__submit search__submit--inverse">Search</button>
</div>
</form>
음...다음에 알아보도록 하자.
HTML이 갖고있는 기본적인 스타일... 쉣구림꼴보기도 싫다ㅡㅡ
많이들 쓰는 리셋 라이브러리
Normalize.css http://necolas.github.io/normalize.css/
Reset.css https://meyerweb.com/eric/tools/css/reset/
리셋css는 극단적으로 정말 모든 기본 css를 없애버린다. 투머치랄까...
내 경험에 따르면(경험이 많지는 않지만) 자신만의 리셋항목을 만드는 것도 방법인 것 같다.
정말 꼴뵈기 싫은것들을 먼저 리셋해주는 편이다.
a태그에 밑줄, 클릭하면 보라색되는거 극혐..
그리고 list태그에 점 생기는거 극혐
*{
padding: 0;
margin: 0;
}
body {
width: 100%;
font-family: 'Noto Sans KR', sans-serif; //보통 쓰는 폰트+만일을 위한 산세리프
}
a {
text-decoration: none; //밑줄 없애기
color: inherit; //보라색되는거 방지. 부모컬러를 상속받는다. 별일없으면 black
}
ul{
list-style: none; //리스트태그 스타일 초기화
}
1 flex-direction : 정렬축 결정
2 flex-wrap : 줄바꿈여부
3 justify-content : 자식요소 수평방향 정렬
4 align-item : 자식 수직방향 정렬
align-items align-content차이
align-items는 한줄을 기준으로 가운데정렬
align-content는 여러줄인 경우 부모box의 가운데에 정렬(라인 자체가 정렬)
align-content 사용시 flex-wrap:wrap; 이어야 함! no-wrap이면 안됨.
align-self 자식 아이템들을 개별로 설정. 이때 align-content를 지워주어야 한다.
flex: grow shrink basis (default: 0 1 auto)
flex-grow: 0 0 0 (늘어나는 비율)
flex-grow 속성으로 비율을 변경하는 경우, flex-shrink 속성은 기본값으로 둘것
flex-grow 속성의 값이 0인 경우에만 flex-basis 속성의 값이 유지
order 컨텐츠 순서. order: -1(맨뒤)
width < flex-basis
넘치는 경우 max-width를 쓰기도 함