box-shadow vs outline box-shadow랑 outline은 둘 다 border랑 달리, 물리적인 공간을 차지하지 않는다는 공통점이 있다. 즉 border는 2px 잡히면 그 만큼 다른 레이아웃에 영향을 주게 되는데, box-shadow랑 outline은 비슷한 시각적 효과를 주지만 다른 레이아웃에 영향을 주지 않는다. 두 속성은 값의 형태가 좀 다르다. outline은 border와 거의 유사한 반면 box-shadow는 좀 어렵다. /* color| style | width */ outline: green solid 3px; /* offset-x | offset-y | blur-radius | spread-radius | color */ box-shadow: 2px 2px 2px 1p..
justify-content: end vs flex-end end는 CSS Box Alignment Specification에 정의돼 있다. flex-end는 Flex-box Specification에 정의돼 있다. flex box 속성은 알겠는데 CSS Box Alignment가 뭔지 모르겠어서 찾아보니 CSS 에 존재하는 여러 디스플레이 모델들(flex, grid, block 등)에 공통적으로 적용되게 하려고 만든 속성이라고 한다. 아직 working draft 상태(2022.01.24 기준)이므로 유효하게 적용되지 않는 브라우저가 존재할 수 있다. 플렉스 컨테이너에서 justify-content: end를 사용했더니, 특정 환경의 크롬에서는 적용돼지 않았다. 지원 스펙을 찾아보니(https://ca..
flow 레이아웃이 요소들 간 겹치지 않도록 했다면 포지션 레이아웃에서는 가능하다. 포지션 레이아웃은 다음과 같은 종류가 있다. static (그냥 디폴트) relative absolute fixed sticky position relative 특정 자식을 제한한다 추가적인 css 프로퍼티를 사용할 수 있다 포지션 레이아웃을 사용하면 top, left, right, bottom 속성 등을 사용할 수 있다. relative로 설정된 상태에서는 이런 값들은 원래의 자리 에서 상대적인 위치를 의미한다. 예를 들어 left: 10px은 오른쪽으로 요소를 10px만큼 이동시킨다. 하지만 요소 이동은 마진으로도 가능한데 왜 이걸 사용해야 할까? 마진과 포지션의 가장 큰 차이는, 포지션은 레이아웃에 영향을 주지 않는..
Width 블록 요소의 기본적인 width 값은 auto이다. margin auto와 비슷하게, 자기가 먹을 수 있는 최대한의 space를 차지하려고 한다. width를 정의하는 방법은 크게 2가지다. 100%, 5rem, 200px 등 숫자가 포함된 어떤 단위 auto, fit-content 등 어떤 키워드 width를 숫자로 정의하는 경우 부모 요소를 기준으로 한다. 예를 들어 100% 라고 하면 무조건 부모 요소의 width만큼 늘어난다. (auto와 달리, 마진이 있더라도 무시된다) min-content, max-content, fit-content min-content와 max-content는, 다른 width와 달리 child를 기준으로 너비를 잡는다. 예를 들어서 auto나 100% 같은 값..
Flow layout HTML element의 레이아웃은 레이아웃 알고리즘에 의해 결정된다. 여러가지 레이아웃 모드(e.g. flex box, grid, positioned 등)가 있는데, 디폴트는 Flow layout이다. Flow layout에서는 모든 element들이 display 프로퍼티를 가지며 display 값은 inline, block, inline-block이다. 이 값들에 따라 레이아웃이 어떻게 위치할 지가 결정되며, 값들은 기본적으로 element 태그에 따라 다르다. 예를 들어 div는 디폴트로 block 값을 가지며, span은 inline을 디폴트 값으로 가진다. inline 인라인 요소는 margin-left/right을 이용해서 방향을 조절할 수는 있지만, width나 hei..
Negative Margin padding이나 border에는 음수가 적용되지 않지만 margin에는 있다. margin을 음수로 주면 부모 element 영역을 벗어날 수 있게 된다. 또한 형제 element를 가깝게 끌어당길 수도 있다. margin은 해당 엘리먼트의 위치만 바꾸는 것이 아니라, 다른 element 간의 갭을 조절할 수 있다. 음수 값을 주게 되면 형제 element는 가까워지게 된다. 또한 음수값으로 인해 해당 element가 이동한다면, 그 이동한만큼 형제 element들도 따라서 이동을 한다. 포지션에 영향을 미치는 다른 프로퍼티(e.g. transform: translate)와 달리 마진은 다른 엘리먼트의 포지션에까지 영향을 미치므로 이를 주의해야 한다. 만약 아래처럼 전체적으..
pseudo-classes element의 현재 상태에 따라 적용되는 css (e.g. hover, focus) button:hover { color: blue; } pseudo-elements 해당 element의 sub element이면서, 우리가 명확히 만든적 없는 DOM element를 타겟하는 경우. (e.g. placeholder, before, after) input::placeholder { color: green; } /* p element 안에, text가 시작되기 전 앞에 핑크색 대시를 추가 */ p::before { content: '-', color: pink; } selector - children, descendent의 차이 /* only children */ p > a { c..
fr.container { display: grid; grid-gap: 20px; grid-template-columns: 1fr 1fr 2fr;} fr은 fraction의 약자로, %로 설정하는 것보다 responsive하며 숫자로 비율을 조절할 수 있다. 아래의 예시와 같이 된다. repeat.container { display: grid; grid-gap: 20px; grid-template-columns: repeat(4, 1fr) // 1fr을 4번 반복과 같다 grid-template-rows: 1fr; } auto.container { display: grid; grid-gap: 20px; grid-template-columns: auto 1fr 2fr; grid-template-rows: ..
- Total
- Today
- Yesterday
- useEffect
- til
- Session
- Redux
- 자바
- Conflict
- GIT
- 깃
- 포인터 변수
- Prefix Sums
- Java
- this
- JavaScript
- CSS
- 제네릭스
- 리덕스
- Data Structure
- youtube data api
- rxjs
- SQL
- oracle
- jQuery
- 인스턴스
- getter
- 개발 공부
- react
- package.json
- c언어
- 알고리즘
- linkedlist
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |