이 글은 주로 기본적인 HTML 면접 질문과 답변을 공유하고 있으니, 도움이 되셨으면 좋겠습니다.
1 DOCTYPE의 기능은 무엇인가요? 표준 모드와 혼합 모드를 구별하는 방법은 무엇입니까?
문서를 렌더링하는 데 사용할 HTML 사양 버전을 브라우저에 알려줍니다. DOCTYPE이 없거나 잘못 구성된 경우 HTML 문서가 무차별 모드로 렌더링됩니다.
표준 모드는 브라우저가 지원하는 최고 표준에서 실행됩니다. Quirks 모드에서는 페이지가 보다 느슨한 이전 버전과 호환되는 방식으로 표시됩니다.
2 왜 HTML5로만 을 작성하면 되나요?
HTML5는 SGML(Standard Generalized Markup Language)을 기반으로 하지 않으므로 DTD(DTD Document Type Definition)를 참조할 필요는 없지만 브라우저 동작을 표준화하려면 DOCTYPE이 필요합니다.
HTML4.01은 SGML 기반이므로 DTD를 인용해야 합니다. 문서에서 사용하는 문서 유형을 브라우저에 알리려면 다음과 같이 하세요:
3 인라인 요소란 무엇인가요? 블록 수준 요소란 무엇입니까? 공허한 요소는 무엇입니까?
인라인 요소: aspan img input select
a span img input select
块级元素:p ul ol li dl dt dd h1 p
空元素:<br> <hr> <link> <meta>
4 页面导入样式时,使用link和@import有什么区别?
相同的地方,都是外部引用CSS方式,区别:
link是xhtml标签,除了加载css外,还可以定义RSS等其他事务;@import属于CSS范畴,只能加载CSS
link引用CSS时候,页面载入时同时加载;@import需要在页面完全加载以后加载,而且@import被引用的CSS会等到引用它的CSS文件被加载完才加载
link是xhtml标签,无兼容问题;@import是在css2.1提出来的,低版本的浏览器不支持
link支持使用javascript控制去改变样式,而@import不支持
link方式的样式的权重高于@import的权重
import在html使用时候需要<style type="text/css">
블록 수준 요소: p ul ol li dl dt dd h1 p
<br> ; <hr> <link> <meta>
4 페이지에서 스타일을 가져올 때 링크를 사용하는 것과 @import를 사용하는 것의 차이점은 무엇인가요?
동일한 위치는 모두 외부 참조 CSS 메서드입니다. 차이점: link는 CSS를 로드하는 것 외에도 RSS 카테고리에 속하며 다른 트랜잭션도 정의할 수 있습니다. CSS만 로드할 수 있습니다링크가 CSS를 참조하는 경우 페이지가 로드되는 동시에 @import가 로드되어야 하며, @import가 참조하는 CSS는 로드되지 않습니다. 이를 참조하는 CSS 파일이 로드될 때까지
link는 xhtml 태그이며, @import는 css2.1에서 제안되었으며, 하위 버전 브라우저는
link를 지원하지 않습니다. 스타일 변경 , @import는
<style type="text/css">
태그가 필요합니다. html해결책: 링크 태그를 사용하여 CSS 스타일 파일을 로드하세요. 링크가 순차적으로 로드되기 때문에 페이지는 HTML 파일을 다운로드하기 전에 CSS가 다운로드될 때까지 기다립니다. 이렇게 하면 레이아웃이 먼저 완료되고 FOUC 문제가 발생하지 않습니다.
주로 렌더링 엔진(레이아웃 엔진 또는 렌더링 엔진)과 JS 엔진의 두 부분으로 나뉩니다.
렌더링 엔진: 웹 페이지의 콘텐츠(HTML, XML, 이미지 등)를 가져오고, 정보를 구성(CSS 추가 등)하고, 웹 페이지의 표시 방법을 계산하는 역할을 담당하며, 모니터나 프린터로 출력합니다. 브라우저 커널에 따라 웹페이지에 대한 문법적 해석이 다르므로 렌더링 효과도 달라집니다.
JS 엔진: 자바스크립트를 구문 분석하고 실행하여 웹 페이지에 동적 효과를 얻습니다.
성능이 떨어지는 요소: 프레임 프레임셋 noframes
구별:
DOCTYPE 선언 방식은 새로 추가된 구조와 기능에 따라 중요한 요소
를 구분하는 것입니다.
9 간략한 설명 HTML 의미론에 대해 어떻게 이해하고 있습니까?
스타일을 제거하거나 잃으면 페이지 구조가 명확해질 수 있습니다.
SEO와 검색 엔진이 원활한 커뮤니케이션을 구축하는 데 도움이 되며 크롤러가 태그를 사용하여 각 키워드의 컨텍스트와 가중치를 결정하는 데 도움이 됩니다.
다른 장치에서 구문 분석하는 것이 편리합니다.
팀 개발 및 유지 관리가 용이하며 가독성을 기반으로 한 의미 체계입니다.
10 HTML5 파일의 오프라인 저장소를 사용하는 방법과 작동 원리는 무엇입니까?
온라인일 때 브라우저는 HTML 헤더에 매니페스트 속성이 있음을 발견하고 매니페스트 파일을 요청합니다. 처음 방문하는 경우 브라우저는 매니페스트 파일의 내용을 기반으로 해당 리소스를 다운로드하고 저장합니다. 오프라인으로요. 액세스되었으며 리소스가 오프라인으로 저장된 경우 브라우저는 오프라인 리소스를 사용하여 페이지를 로드합니다. 그런 다음 브라우저는 새 매니페스트 파일을 이전 매니페스트 파일과 비교합니다. 파일이 변경되지 않은 경우에는 작업이 수행되지 않습니다. 파일이 변경된 경우 파일의 리소스가 다시 다운로드되어 오프라인으로 저장됩니다. 예를 들어
페이지 헤더에 매니페스트 속성을 추가하세요
<html manifest='cache.manifest'>
cache.manifest 파일에 오프라인 저장소 리소스 쓰기
CACHE MANIFEST #v0.11 CACHE: js/app.js css/style.css NETWORK: Resourse/logo.png FALLBACK: //offline.html
11 쿠키, sessionStorage 및 localStorage의 차이점은 무엇인가요?
공통점: 모두 브라우저 측에 저장되며 출처가 동일합니다.
차이점:
쿠키는 사용자를 식별하기 위해 사용자의 로컬 터미널에 저장된 데이터입니다. 쿠키는 항상 동일한 출처의 http 요청으로 전달됩니다. 즉, 쿠키는 브라우저와 브라우저 간에 앞뒤로 전달됩니다. 반면 sessionstorage와 localstorage는 자동으로 서버에 데이터를 보내고 로컬에만 저장합니다.
저장 용량 제한이 다릅니다. 쿠키에 의해 저장되는 데이터는 매우 작으며 4K를 초과할 수 없는 반면, 세션 스토리지 및 로컬 스토리지에 의해 저장되는 데이터는 대용량이며 5M에 도달할 수 있습니다.
데이터의 유효기간이 다릅니다. 창이나 브라우저를 닫아도 쿠키는 설정된 쿠키 만료 시간까지 유효합니다. 세션 저장은 브라우저 창이 닫힐 때까지만 유효합니다. 로컬 저장소는 창과 브라우저가 닫혀 있어도 장기간 데이터 저장을 위해 항상 유효합니다.
다양한 범위. 쿠키는 동일한 출처의 모든 창에서 공유됩니다. 세션 저장소는 동일한 페이지에서도 다른 브라우저 간에 공유되지 않습니다.
12 iframe의 장점과 단점은 무엇입니까? 뼈대?
장점:
iframe은 삽입된 웹페이지를 그대로 표시할 수 있습니다.
iframe을 참조하는 웹페이지가 여러 개 있는 경우 iframe의 콘텐츠만 수정하면 호출되는 각 페이지의 콘텐츠가 변경되므로 편리하고 빠릅니다.
스타일 통일을 위해 웹페이지의 헤더와 버전이 동일한 경우에는 한 페이지로 작성하고 iframe과 중첩하여 코드의 재사용성을 높일 수 있습니다.
아이콘이나 광고와 같이 느리게 로드되는 타사 콘텐츠가 발생하는 경우 이러한 문제는 iframe으로 해결될 수 있습니다.
단점:
검색 엔진 크롤러는 이러한 종류의 페이지를 해석할 수 없습니다.
프레임 구조에 다양한 스크롤 막대가 나타납니다.
프레임 구조를 사용할 때 올바른 탐색 링크를 설정하십시오.
iframe 페이지에서는 서버의 http 요청이 늘어납니다
13 라벨의 역할은 무엇인가요? 어떻게 사용되나요?
라벨 라벨은 양식 컨트롤 간의 관계를 정의하는 데 사용됩니다. 사용자가 레이블을 선택하면 브라우저는 자동으로 레이블과 관련된 양식 컨트롤로 초점을 돌립니다. label에는 FOR와 ACCESSKEY라는 매우 유용한 두 가지 속성이 있습니다.
FOR 속성 기능: 라벨 라벨에 바인딩될 HTML 요소를 나타냅니다. 이 라벨을 클릭하면 바인딩된 요소가 포커스를 받습니다. 예를 들어
<Label FOR="InputBox">姓名</Label><input ID="InputBox" type="text">
ACCESSKEY 속성 함수: 라벨 태그에 바인딩된 요소에 액세스하기 위한 단축키를 나타냅니다. 단축키를 누르면 바인딩된 요소가 포커스를 얻습니다. 예를 들어
<Label FOR="InputBox" ACCESSKEY="N">姓名</Label><input ID="InputBox" type="text">
14 HTML5 형식에서 자동 완성 기능을 끄는 방법은 무엇입니까?
HTML 입력 상자에는 자동 완성 기능이 있을 수 있습니다. 입력 상자에 콘텐츠를 입력하면 브라우저는 이전 입력 상자 기록에서 동일한 이름을 가진 유사한 콘텐츠를 찾아 입력 상자 아래에 나열합니다. 이렇게 하면 모든 항목을 입력할 필요가 없으며 목록에서 항목을 선택하기만 하면 됩니다. 그러나 때로는 입력 상자의 자동 완성 기능을 끄고 싶을 때도 있습니다. 예를 들어 사용자가 콘텐츠를 입력하면 사용자 기록에서 검색하는 대신 AJAX 기술을 사용하여 데이터베이스에서 검색하고 나열하려고 합니다.
방법:
IE의 인터넷 옵션 메뉴에서 자동 완성을 설정하세요
양식 입력 상자의 자동 완성을 켜거나 꺼서 입력 상자의 자동 완성 기능을 켜세요
15 如何实现浏览器内多个标签页之间的通信?
WebSocket SharedWorker
也可以调用 localstorge、cookies 等本地存储方式。 localstorge 在另一个浏览上下文里被添加、修改或删除时,它都会触发一个事件,我们通过监听事件,控制它的值来进行页面信息通信。
注意:Safari 在无痕模式下设置 localstorge 值时会抛出QuotaExceededError 的异常
16 webSocket如何兼容低浏览器?
Adobe Flash Socket ActiveX HTMLFile (IE) 基于 multipart 编码发送 XHR 基于长轮询的 XHR
引用WebSocket.js这个文件来兼容低版本浏览器。
16 页面可见性(Page Visibility)API 可以有哪些用途?
通过visibility state的值得检测页面当前是否可见,以及打开网页的时间。
在页面被切换到其他后台进程时,自动暂停音乐或视频的播放。
17 如何在页面上实现一个圆形的可点击区域?
map+area或者svg
border-radius
纯js实现,一个点不在圆上的算法
18 实现不使用 border 画出1px高的线,在不同浏览器的Quirks mode和CSS Compat模式下都能保持同一效果
<p style="height:1px;overflow:hidden;background:red"></p>
19 网页验证码是干嘛的,是为了解决什么安全问题?
区分用户是计算机还是人的程序;
可以防止恶意破解密码、刷票、论坛灌水;
20 title与h1的区别、b与strong的区别、i与em的区别?
title属性没有明确意义,只表示标题;h1表示层次明确的标题,对页面信息的抓取也有很大的影响
strong标明重点内容,语气加强含义;b是无意义的视觉表示
em表示强调文本;i是斜体,是无意义的视觉表示
视觉样式标签:b i u s
语义样式标签:strong em ins del code
21 元素的alt和title有什么异同?
在alt和title同时设置的时候,alt作为图片的替代文字出现,title是图片的解释文字。
相关推荐:
위 내용은 기본 HTML 인터뷰 질문 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!