이번에는 2018년 최신 프론트엔드 면접 질문을 가져왔습니다. 면접은 프론트엔드 업무에 있어서 빼놓을 수 없는 부분이라는 것을 알고 있습니다. 자주 묻는 프론트엔드 면접 질문을 분류하고 요약한 목적은 여러분의 극복을 돕기 위한 것입니다. 프론트 엔드 인터뷰의 주요 어려움. 살펴보겠습니다.
[관련 추천 : 프론트엔드 면접 질문 (2020)]
1. Z-index와 오버레이 컨텍스트가 어떻게 형성되는지 설명하세요.
먼저 CSS에서 오버레이 컨텍스트가 형성되는 이유를 살펴보겠습니다.
1. 음수 여백 여백이 음수 값인 경우 요소는 참조선을 따라 바깥쪽으로 오프셋됩니다. margin-left/margin-top의 기준선은 왼쪽 요소/위 요소(형제 요소가 없는 경우 상위 요소의 왼쪽 내부/위 내부 요소), margin-right 및 margin-bottom 선은 요소 자체의 테두리 오른쪽/테두리 아래쪽입니다. 일반적으로 레이아웃에는 음수 여백을 사용할 수 있지만 제대로 계산되지 않으면 요소가 겹칠 수 있습니다. 스택 순서는 문서의 요소 위치에 따라 결정되며 요소는 나중에 맨 위에 표시됩니다.
2. 위치의 상대/절대/고정 위치 지정 요소에 대해 위치 값을 상대/절대/고정으로 설정하면 요소의 오프셋이 겹칠 수 있으며 Z-index 속성이 활성화됩니다. z-index 값은 디스플레이 화면에 수직인 방향(Z축)으로 배치된 요소의 스택 순서를 제어할 수 있습니다. 큰 값을 가진 요소가 겹쳐지면 작은 값을 가진 요소 위에 오게 됩니다.
z-index 속성 z-index는 위치 속성 값이 상대, 절대 또는 고정인 요소에만 유효할 수 있습니다.
기본 원리: Z-인덱스 값은 디스플레이 화면에 수직인 방향(Z축)으로 배치된 요소의 스택 순서를 제어할 수 있습니다. 값이 큰 요소가 겹칠 경우 값이 작은 요소 위에 오게 됩니다. .
상대성 사용: Z-색인 값은 동일한 상위 요소에 있는 형제 하위 요소의 스택 순서만 결정합니다. 상위 요소의 z-index 값(있는 경우)은 하위 요소의 스택 순서("Pin Dad" 스택의 CSS 버전)를 정의합니다.
위로 추적할 때 z-index 값을 포함하는 상위 요소를 찾을 수 없으면 자유 z-index 요소로 간주할 수 있으며 상위 요소의 형제 위치 요소나 다른 자유 위치 요소와 비교할 수 있습니다. -index의 스택 순서를 결정합니다. 형제 요소의 z-index 값이 동일한 경우 문서 내 요소의 위치에 따라 쌓이는 순서가 결정되며 나중에 나타나는 요소가 맨 위에 표시됩니다. 따라서 큰 z-index 값을 가진 요소가 더 작은 값을 가진 요소에 의해 가려지는 경우 먼저 해당 요소 사이의 dom 노드 간의 관계를 확인하십시오. 대부분의 경우 해당 부모 노드에 활성화 및 z가 있기 때문입니다. -색인 집합. 값의 위치는 요소의 위치를 지정합니다.
2. BFC(Block Formatting Context)와 작동 방식을 설명하세요.
BFC(Block Formatting Context)는 말 그대로 "블록 수준 서식 범위"로 번역됩니다.
3. 다양한 플로트 제거 기술을 나열하고 적용 가능한 사용 시나리오를 지적하세요.
먼저 왜 float를 제거해야 하는지 설명하겠습니다. 컨테이너의 모든 요소가 플로팅되면 플로팅이 요소를 일반 문서 흐름에서 분리하므로 외부 컨테이너에 대해 열어두는 콘텐츠가 없으며 배경 설정을 표시할 수 없으며 여백 설정을 표시할 수 없습니다. . 부동 소수점을 지우는 방법:
1. 새 요소를 추가하고 명확하게 적용합니다. 둘 다
例如: <div class="outer"> <div class="div1">1</div> <div class="div2">2</div> <div class="div3">3</div> <div class="clear"></div> </div> .clear{clear:both; height: 0; line-height: 0; font-size: 0}
장점: 간단하고 코드가 적으며 브라우저 지원이 우수하며 이상한 문제가 발생하지 않는다는 단점이 있습니다. , 그러나 이는 수레를 제거하는 데 더 일반적으로 사용되는 방법입니다.
2. 상위 div는 오버플로를 정의합니다: auto 또는 hide
//这里添加了一个class <div class="div1">1</div> <div class="div2">2</div> <div class="div3">3</div> </div> .over-flow{ overflow: auto; zoom: 1; //zoom: 1; 是在处理兼容性问题 }
원칙: 너비 또는 확대/축소: 1을 정의해야 하며 높이는 정의할 수 없습니다. 플로트 지우기 한 가지 주목해야 할 점은 오버플로 속성에 숨김, 자동, 표시라는 세 가지 속성 값이 있다는 것입니다. 숨겨진 값과 자동 값을 사용하여 부동 소수점을 지울 수 있지만 표시되는 값을 사용하지 않는 것을 기억하세요. 이 값을 사용하면 부동 소수점 지우기 효과를 얻을 수 없습니다.
장점: 간단하고 코드가 적으며 브라우저 지원이 좋음 단점: 자동을 사용할 때 내부 너비와 높이가 상위 div를 초과하면 스크롤 막대가 나타나고, 숨김을 사용할 때는 숨겨집니다
3. 원리 after 메소드: after 및 :before를 사용하여 요소 내부에 두 개의 요소 블록 을 삽입하여 부동 소수점을 지우는 효과를 얻습니다. 구현 원리는 Clear:both 메소드와 유사합니다. 단,:clear는 HTML에 div.clear 태그를 삽입하는 반면, 이 메소드는 의사 클래스clear:after를 사용하여 요소 내부에 div.clear와 유사한 효과를 추가합니다.
구체적인 사용법을 살펴보겠습니다.
<div class="outer"> <div class="div1">1</div> <div class="div2">2</div> <div class="div3">3</div> </div> .outer {zoom:1;} /==for IE6/7 Maxthon2==/ .outer :after {clear:both;content:’.’;display:block;width: 0;height: 0;visibility:hidden;}
여기서clear:both;는 모든 부동 소수점을 지우는 것을 의미합니다. content: '.';는 FF/chrome/opera/IE8에 필수적이며 content() 값을 사용하거나 비어 있을 수 있습니다. visible:hidden의 기능은 브라우저가 렌더링할 수는 있지만 표시하지 않도록 허용하여 부동 항목을 지울 수 있도록 하는 것입니다. 따라서 일반적으로 pseudo-class 방법을 사용하는 것이 좋습니다.
이 기사의 사례를 읽으신 후 방법을 마스터하셨다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!
관련 읽기:
위 내용은 2018년 최신 프론트엔드 면접 질문 11의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

JavaScript 문자열 교체 방법 및 FAQ에 대한 자세한 설명 이 기사는 JavaScript에서 문자열 문자를 대체하는 두 가지 방법 인 내부 JavaScript 코드와 웹 페이지의 내부 HTML을 탐색합니다. JavaScript 코드 내부의 문자열을 교체하십시오 가장 직접적인 방법은 대체 () 메소드를 사용하는 것입니다. str = str.replace ( "find", "replace"); 이 메소드는 첫 번째 일치 만 대체합니다. 모든 경기를 교체하려면 정규 표현식을 사용하고 전역 플래그 g를 추가하십시오. str = str.replace (/fi

간단한 자바 스크립트 함수는 날짜가 유효한지 확인하는 데 사용됩니다. 기능 isValidDate (s) { var 비트 = s.split ( '/'); var d = 새로운 날짜 (비트 [2]/'비트 [1]/'비트 [0]); return !! (d && (d.getmonth () 1) == 비트 [1] && d.getDate () == 숫자 (비트 [0]); } //시험 var

이 기사에서는 jQuery를 사용하여 DOM 요소의 내부 마진 및 마진 값, 특히 요소의 외부 마진 및 내부 마진의 특정 위치를 얻고 설정하는 방법에 대해 설명합니다. CSS를 사용하여 요소의 내부 및 외부 마진을 설정할 수는 있지만 정확한 값을 얻는 것이 까다로울 수 있습니다. // 설정 $ ( "div.header"). css ( "margin", "10px"); $ ( "Div.Header"). CSS ( "패딩", "10px"); 이 코드는 생각할 수 있습니다

이 기사는 10 개의 탁월한 jQuery 탭과 아코디언을 탐구합니다. 탭과 아코디언의 주요 차이점은 콘텐츠 패널이 표시되고 숨겨진 방식에 있습니다. 이 10 가지 예를 살펴 보겠습니다. 관련 기사 : 10 JQuery Tab 플러그인

웹 사이트의 역학 및 시각적 매력을 높이기 위해 10 개의 탁월한 jQuery 플러그인을 발견하십시오! 이 선별 된 컬렉션은 이미지 애니메이션에서 대화식 갤러리에 이르기까지 다양한 기능을 제공합니다. 이 강력한 도구를 탐색합시다. 관련 게시물 : 1

HTTP-Console은 HTTP 명령을 실행하기위한 명령 줄 인터페이스를 제공하는 노드 모듈입니다. 웹 서버, 웹 서비스에 대해 만들어 졌는지 여부에 관계없이 HTTP 요청과 함께 어떻게 진행되고 있는지 정확하게 보는 데 유용합니다.

이 튜토리얼은 사용자 정의 Google 검색 API를 블로그 또는 웹 사이트에 통합하는 방법을 보여 주며 표준 WordPress 테마 검색 기능보다보다 세련된 검색 경험을 제공합니다. 놀랍게도 쉽습니다! 검색을 Y로 제한 할 수 있습니다

다음 jQuery 코드 스 니펫은 DIV 내용이 컨테이너 요소 영역을 초과 할 때 스크롤 바를 추가하는 데 사용될 수 있습니다. (데모 없음, FireBug에 직접 복사하십시오) // d = 문서 // w = 창 // $ = jQuery var contentArea = $ (this), wintop = contentArea.scrolltop (), docheight = $ (d) .height (), winheight = $ (w) .height (), divheight = $ ( '#c


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

드림위버 CS6
시각적 웹 개발 도구
