Thief of Wealth
[Frontend Interview] inline과 inline-block의 차이점
개발/FrontEnd Interview 2021. 1. 14. 01:23

- block 부모 컨테이너의 너비를 채운다. 새 줄에서 시작하고, 그 옆에 HTML 요소를 허용하지 않는다. (float사용시에는 허용) width/height 지정이 가능하다. vertical-align 정렬이 불가능하다. margin, padding이 모든 방향에서 가능하다. - inline-block 내용에 크기를 의존한다. 다른 콘텐츠와 함께 흐르고, 다른 요소가 옆에 있는 것을 허용한다. width/height 지정이 가능하다. vertical-align 정렬이 가능하다. margin, padding 모든 방향에서 가능하다. - inline 내용에 크기를 의존한다. 다른 콘텐츠와 함께 흐르고, 다른 요소가 옆에 있는 것을 허용한다. width/height 설정이 무시된다. vertical-al..

[Frontend Interview] float는 어떻게 동작하는가?
개발/FrontEnd Interview 2021. 1. 9. 21:01

Float는 CSS 위치지정 속성이다. Float 된 Element는 페이지의 흐름의 일부가되며, 페이지의 흐름에서 제거되는 position: absolute 와 달리 다른 요소 (floating element 주위에 있는 텍스트)의 위치에 영향을 준다. CSS clear 속성은 float Element에 left/right/both를 적용시킬 수 있다. 부모 Element에만 float가 있으면 그 높이는 무효가 되고, 컨테이너의 float Element 다음에 있지만 컨테이너가 닫히기 전에 float를 clear한다면 해결할 수 있다. 나중에 다시보기 github.com/zereight/front-end-interview-handbook/blob/master/contents/kr/css-questio..

[Frontend Interview] Resetting, Normalizing CSS의 차이점은?
개발/FrontEnd Interview 2021. 1. 9. 20:43

- Resetting Resetting은 요소의 모든 기본 브라우저 스타일을 제거하기 위한 것이다. ex) margin, font-size, padding 재설정 - Normalizing Normalizing은 모든 스타일을 제거하는 것이 아니라, 유용한 기본 스타일을 보존하고 브라우저 종속성에 대한 버그를 수정하는 것이다. => 나만의 스타일링을 많이 해야할때 Resetting github.com/zereight/front-end-interview-handbook/blob/master/contents/kr/css-questions.md#resetting%EA%B3%BC-normalizing-css%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90%EC%9D%80-%EB%AC%B4%EC%..

[Frontend Interview] CSS 선택자의 특정성은 무엇이고 어떻게 작동하는가?
개발/FrontEnd Interview 2021. 1. 8. 22:15

브라우저는 CSS 선택자의 특정성에 따라 Element에 표시할 스타일을 결정한다. CSS 선택자는 4개의 쉼표로 구분된 값 a,b,c,d 을 기반으로 계산된다. 1. a는 인라인 스타일이 사용되고 있는지 여부이다. 속성의 선언이 인라인 스타일이라면, a는 1, 아니면 0이다. 2. b는 ID 셀렉터의 수 3. c는 클래스, 속성, 가상 클래스 선택자의 수 4. d는 태그, 가상 요소 선택자의 수이다. 결과적으로 css 셀렉터는 점수가 아니라, 4개의 값을 비교하여 가장 높은 특정성을 갖는 항목을 적용한다. a,b,c,d에서 0,1,0,0와 0,0,10,10 이 있다면 0,1,0,0이 우선적으로 반영된다는 것이다. 동등한 특정성의 경우에는, 가장 마지막 규칙이 중요한 규칙이라 판단한다. (중복으로 스타일..

[Frontend Interview] img 태그에 srcset 속성을 사용하는 이유는 무엇인가?
개발/FrontEnd Interview 2021. 1. 8. 01:20

기기의 디스플레이 너비에 따라 다른 이미지를 사용자에게 제공하려는 경우, srcset을 사용한다. 레티나 디스플레이를 통해 고품질 이미지를 제공하여 사용자 경험을 향상시키고, 저해상도 저사양 기기에 제공하여 성능을 높이고 데이터 낭비를 줄인다. (더 큰 이미지를 제공하는 것은 눈에 보일 정도의 차이가 없기 때문) 예를 들어서 는 클라이언트 해상도에 따라 브라우저에 small, medium, large .jpg 그래픽을 표시하도록 지시한다. (첫번째 값은 이미지이름이고 두번째 값은 픽셀 단위의 이미지 width이다.) 즉, 클라이언트의 해상도가 1x일 경우, small.jpg 에 해당하는 500w가 브라우저에 의해 선택된다. 해상도가 레티나(2x) 인 경우, 브라우저는 최소값에서 가장 위로 가까운 해상도를..

[Frontend Interview] 왜 css <link>를 <head>내에 선언하고, js <script>를 <body> 직전에 위치시키는 것이 좋은 방법인가?
개발/FrontEnd Interview 2021. 1. 7. 02:32

왜 css 를 내에 선언하고, js 를 직전에 위치시키는 것이 좋은 방법인가? - 안에 를 넣는 이유 를 안에 넣는 것은 최적화된 웹사이트를 구출할 때 적절한 스펙이다. 페이지가 처음 로드되면, HTML과 CSS가 동시에 파싱되는데, HTML은 DOM(Document Object Model)을 만들고, CSS는 CSSOM (CSS Object Model) 을 만든다. 2가지 모두 웹 사이트에서 시각적인 부분을 만드는데 필요하므로, 빠른 first meaningful paint를 할 수 있게 해준다. (first meaningful paint은 사이트의 성능 지표중 하나) 문서 최하단에 stylescheet를 두는 것은 이에 반하는 행동이다. 또한, 점진적인 렌더링을 하는 경우 몇몇 브라우저는 스타일이 변..

[Frontend Interview] <script> <script async> <script defer> 의 차이점
개발/FrontEnd Interview 2021. 1. 6. 09:07

https://github.com/woowacourse-fe-study/havruta-frontend/discussions/30 - HTML 파싱이 중단되고, 스크립트를 즉시 가져오고 실행되며, 스크립트 실행 후 HTML 파싱이 다시 시작된다. - HTML 파싱과 병렬적으로 진행되며, 가능할 때 즉시 실행된다. (HTML 파싱이 끝나기 전) 스크립트가 페이지의 다른 스크립트들과 독립적인 경우에 async를 사용하는 편이다. - HTML 파싱과 병렬적으로 가져오지만, 페이지 파싱이 끝나면 실행된다. 이것이 여러개 있는 경우, 각 스크립트는 페이지에 등장한 순서대로 실행된다. 스크립트가 완전히 파싱된 DOM에 의존하는 경우, defer 속성은 스크립트를 실행하기 전에 HTML이 완전히 파싱되도록 하는데 유용..

[Frontend Interview] cookie, sessionStorage, localStorage 들의 차이점은?
개발/FrontEnd Interview 2021. 1. 6. 00:14

cookie, sessionStorage, localStorage 기술은 모두 클라이언트 측에서 값을 저장하는 key-value 저장소 매커니즘이다. 모두 문자열로만 값을 저장할 수 있다. cookie localStrorage sessionStorage 생성자 클라이언트 또는 서버 Set-Cookie 헤더를 사용 클라이언트 클라이언트 만료 수동으로 설정 영구 탭 종료 시 브라우저 세션 전체에서 지속 만료 설정 여부에 따라 다름 ㅇ X 모든 http 요청과 함께 서버로 보냄 쿠키는 Cookie 헤더를 통해 자동 전송됨 X X 용량 (도메인 별) 4kb 5MB 5MB 접근성 모든 윈도우 모든 윈도우 같은 탭

profile on loading

Loading...