0
点赞
收藏
分享

微信扫一扫

前端面试--HTML篇(持续更新)

時小白 2022-04-30 阅读 130
前端

1. 标签语义化

①用正确的标签做正确的事情。

②html 语义化让页面的内容结构化,结构更清晰,便于对浏览器、搜索引擎解析;即使在没有样式 CSS 情况下也以一种文档格式显示,并且是容易阅读的;

③ 搜索引擎的爬虫也依赖于 HTML 标记来确定上下文和各个关键字的权重,利于 SEO;

④ 使阅读源代码的人对网站更容易将网站分块,便于阅读维护理解。

2. <a>标签的各种取值

href属性

(1)跳转地址

(2)站内文件

(3)锚点(跳转到对于id的元素上)/hash值,加上#跟在url之后,但是不会被发送到服务器。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<style>
    div {
        width: 200px;
        height: 200px;
        background-color: aqua;
        margin: 50px;
    }
</style>

<body>
    <!-- 超链接的 URL。可能的值:
    绝对 URL - 指向另一个站点(比如 href="http://www.example.com/index.htm")
    相对 URL - 指向站点内的某个文件(href="index.htm")
    锚 URL - 指向页面中的锚(href="#top") -->
    <a href="#123">1</a>
    <a href="http://www.baidu.com">2</a>
    <a href="./文本.html">3</a>
    <div>1</div>
    <div>1</div>
    <div>1</div>
    <div>1</div>
    <div>1</div>
    <div>1</div>
    <div id="123">#123</div>
    <div>1</div>
    <script></script>
</body>

</html>

target取值

<!-- 1. rel	text	规定当前文档与被链接文档之间的关系。
2. target	_blank   framename 规定在何处打开链接文档。
            _parent
            _self
            _top
            _blank	在新窗口中打开被链接文档。
            _self	默认。在相同的框架中打开被链接文档。
            _parent	在父框架集中打开被链接文档。
            _top	在整个窗口中打开被链接文档。
            framename	在指定的框架中打开被链接文档。 -->
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<style>
    #box {
        margin-top: 50px;
        width: 300px;
        height: 300px;
        border: 1px sandybrown solid;
    }
</style>

<body>
        <div>
            <a href="./文本.html" target="_blank">_blank</a>
            <a href="./文本.html" target="_self">_self</a>
            <a href="./文本.html" target="_parent">_parent</a>
            <a href="./文本.html" target="_top">_top</a>
            <a href="./文本.html" target="box">box</a>
        </div>
        <cite>1999 王晨</cite>
        <div id="box"></div>
        <iframe name="box"></iframe>
    <script></script>
</body>

</html>

3.Label 标签

<label> 标签为 input 元素定义标签(label)。

label 元素不会向用户呈现任何特殊的样式。不过,它为鼠标用户改善了可用性,因为如果用户点击 label 元素内的文本,则会切换到控件本身。

<label> 标签的 for 属性应该等于相关元素的 id 元素,以便将它们捆绑起来。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        #demo2 {
            display: none;
        }
        .demo1-div{
            width: 200px;
            height: 200px;
            line-height: 200px;
            text-align: center;
            background-color: rgb(255, 230, 0);
        }
        .demo2-div{
            width: 200px;
            height: 200px;
            line-height: 200px;
            text-align: center;
            background-color: rgb(162, 0, 255);
        }
        .demo3-div{
            width: 200px;
            height: 200px;
            line-height: 200px;
            text-align: center;
            background-color: aqua;
        }
    </style>
</head>

<body>
    <label for="demo1">
       <div class="demo1-div">点我聚焦</div>
    </label>
    <input id="demo1" />
    <label for="demo2">
        <div class="demo2-div">点我提交</div>
    </label>
    <input id="demo2" type="file" />
    <label>
        <div class="demo3-div">点我触发按钮</div>
        <button onclick="demo3()">demo3</button>
    </label>
    <script>
        function demo3() {
            console.log("我是按钮,我被点了,我不干净了");
        }
    </script>
</body>

</html>

4.HTML 与 XHTML

XML:

1、XHTML中所有的标记都必须有一个相应的结束标签;

2、XHTML所有标签的元素和属性的名字都必须使用小写;

3、所有的XML标记都必须合理嵌套;

4、所有的属性都必须用引号“”括起来;

5、把所有<和&特殊符号用编码表示;

6、给所有属性附一个值;

7、不要在注释内容中使用“--”;

8、图片必须使用说明文字。

HTML5

基本就和上面相反,可以不闭合,可以不写img的alt,可以不合理嵌套,标签大小写都行。

6.title 与 h1 的区别、b 与 strong 的区别、i 与 em 的区别?

①title用于网站信息标题,突出网站标题或关键字,一个网站可以有多个title,seo权重高于H1;H1概括的是文章主题,一个页面最好只用一个H1,seo权重低于title。

解析:

A.从网站角度而言,title则重于网站信息标题,突出网站标题或关键字用title,一篇文章,一个页面最好只 用一个H1,H1用得太多,会稀释主题;一个网站可以有多个title,最好一个单页用一个title以便突出网站页面 主题信息。

B.从文章角度而言,H1则概括的是文章主题,突出文章主题,用H1,面对的用户,要突出其视觉效果。

C.从SEO角度而言,title的权重高于H1,其适用性要比H1广。

②b为了加粗而加粗,strong为了标明重点而加粗

解析:

A.b这个标签对应 bold,即文本加粗,其目的仅仅是为了加粗显示文本,是一种样式/风格需求; B.strong这个标签意思是加强字符的语气,表示该文本比较重要,提醒读者/终端注意。为了达到这个目的,浏览器等终端将其加粗显示;

③ 同②i为了斜体而斜体,em为了标明重点而斜体,且对于搜索引擎来说strong和em比b和i要重视的多

转自 html常见面试题及答案_Acpo的博客-CSDN博客_html面试题

7.请描述下 SEO 中的 TDK?

答案:在 SEO 中,所谓的 TDK 其实就是 title、description、keywords 这三个标签,title 标题标签,description 描述标签,keywords 关键词标签

示例

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <!-- 文档标题 T -->
    <title>Document</title>
    <!-- 描述 D -->
    <meta name="description" content="This page is about the meaning of science,education,culture.">
    <!-- 关键词 K -->
    <meta name="keywords" content="test">
</head>

<body>

</body>

</html>

8. 数学标签

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <div>
        <!-- 下角标 -->
        10<sub>2</sub>
        <!-- 次方   -->
        10<sup>2</sup>
        <!-- 标记 -->
        10<mark>2</mark>
        <!-- pp -->
        10*2
    </div>
</body>

</html>

效果图

 9. HTML <!DOCTYPE> 声明

<!DOCTYPE> 声明位于文档中的最前面的位置,处于 <html> 标签之前。

<!DOCTYPE> 声明不是一个 HTML 标签;它是用来告知 Web 浏览器页面使用了哪种 HTML 版本。

在 HTML 4.01 中,<!DOCTYPE> 声明需引用 DTD (文档类型声明),因为 HTML 4.01 是基于 SGML (Standard Generalized Markup Language 标准通用标记语言)。DTD 指定了标记语言的规则,确保了浏览器能够正确的渲染内容。

HTML5 不是基于 SGML,因此不要求引用 DTD。

提示:总是给您的 HTML 文档添加 <!DOCTYPE> 声明,确保浏览器能够预先知道文档类型。

10. 简述一下 src 与 href 的区别。

答案:src 用于引用资源,替换当前元素;href 用于在当前文档和引用资源之间确立联系。

解析:

  • href

    href 标识超文本引用,用在 link 和 a 等元素上,href 是引用和页面关联,是在当前元素和引用资源之间建立联系

    若在文档中添加 href ,浏览器会识别该文档为 CSS 文件,就会并行下载资源并且不会停止对当前文档的处理。这也是为什么建议使用 link 方式加载 CSS,而不是使用 @import 方式。
  • src

    src 表示引用资源,替换当前元素,用在 img,script,iframe 上,src 是页面内容不可缺少的一部分。

    当浏览器解析到 src ,会暂停其他资源的下载和处理(图片不会暂停其他资源下载和处理),直到将该资源加载、编译、执行完毕,图片和框架等也如此,类似于将所指向资源应用到当前内容。这也是为什么建议把 js 脚本放在底部而不是头部的原因。

转载 html常见面试题及答案_Acpo的博客-CSDN博客_html面试题

举报

相关推荐

0 条评论