Html_Css问答集(2)

    
8、DTD是什么?

    文档声明(Document Type Declaration,简称DTD)是指在HTML文档开头部分的声明,它用于指定文档的类型和版本,以及文档所遵循的规则和约束。

    DTD 规定了 HTML 文档中可以使用的元素、属性和标签,它们是由 World Wide Web Consortium(W3C)定义的。

    说人话,就是它指定了本网页使用哪此元素、标签等,DTD相当于大楼的设计图,它只规定框架,指定使用什么砖、瓦、钢筋等材料,但不进行实际内容的填写、组合。
    
    一般用浅灰色显示,因为它不是HTML文档的一部分,而是对文档的结构和格式的定义。浏览器和编辑器通常将 DTD 显示为浅灰色,以区别于实际的 HTML 元素和标签。


9、什么是meta?

    (1)在 HTML 中,meta 元素用于提供关于 HTML 文档的 metadata(元数据)。它通常位于 HTML 文档的头部(head 部分),用于提供关于文档的信息,例如作者、描述、关键词、字符编码、刷新等。

    英文意思是 "metadata",即关于文档的数据。常见的 meta 元素有:
        meta charset:指定文档的字符编码。
        meta name="description":提供文档的描述。
        meta name="keywords":提供文档的关键词。
        meta http-equiv="refresh":指定文档的刷新间隔。
        meta author:提供文档的作者信息。
    这些 metadata 可以被搜索引擎、浏览器和其他应用程序使用,以了解文档的内容和性质。

    (2)元数据(metadata)不是 HTML 元素,而是一种数据类型。它提供关于其他数据的信息,例如文档的作者、创建日期、描述、关键词等。

    元数据可以被认为是一种描述性数据,用于提供关于数据的 context 和信息。它并不是全局变量,而是一种附加信息,用于帮助理解和处理数据。

    (3)元数据可以被认为是 HTML 的附属信息,类似于文件中的属性。它提供关于文档的信息,例如作者、创建日期、描述、关键词等,这些信息可以被搜索引擎、浏览器和其他应用程序使用,以了解文档的内容和性质。

    就像文件有属性一样,元数据可以被认为是 HTML 文档的属性,它提供了关于文档的附加信息,以帮助理解和处理文档。


10、网页标题左侧如何显示图标?

    在网页标题的左侧显示图标,需要在对应的文件夹放一个icon图标,且文件名通常为favicon.ico。
    favicon.ico是一个小图标,通常为16x16或32x32像素,用于表示网站或网页的图标。它可以被浏览器和其他应用程序使用,例如书签、收藏夹、浏览器标签页等。 
    
    favicon.ico文件可以被放在网站的根目录下,也可以通过HTML的link标签指定其位置。
    
    不放在根目录下有可能不显示这个图标?
    因为大多数浏览器在寻找 favicon.ico 文件时,会默认地从网站的根目录下开始查找。如果 favicon.ico 文件不在根目录下,浏览器可能无法找到它。

    因为浏览器会根据 RFC 3986 规范来解析 URL,并将 favicon.ico 文件的 URL 解析为相对 URL,例如 /favicon.ico。如果 favicon.ico 文件不在根目录下,浏览器可能无法正确地解析 URL,从而无法找到图标。

    但是,需要注意的是,使用 HTML 的 link 标签可以指定 favicon.ico 文件的位置,例如 <link rel="icon" href="path/to/favicon.ico">。这样可以让浏览器从指定的位置加载图标,而不仅仅是从根目录下查找。


11、div是什么?

    在HTML中,<div> 元素是一个通用的块级容器,用于组织和布局网页内容。<div> 元素通常用于将页面上的内容分组,以便对这些内容应用样式、布局和JavaScript操作。

    一些常见用法和特点包括:
        <div> 元素没有特定的语义,它只是一个容器,不会对内容本身产生任何影响。
        可以通过CSS样式对 <div> 进行样式化,例如设置背景颜色、边框、宽度和高度等。
        可以在 <div> 内嵌套其他 HTML 元素,如文本、图片、链接等,以创建多个内容区块。
        通过给不同的 <div> 添加类名或 ID,可以在 CSS 或 JavaScript 中方便地选择和操作特定的 <div> 元素。

    <div> 元素本身并不会对内容进行任何特殊的呈现效果,它只是逻辑上的一个容器,用于组织和管理页面中的其他内容。通过使用 <div> 元素,开发者可以将页面分割成不同的区块或部分,使代码结构更清晰,便于维护和管理。


12、为什么要使用图片的base64码?

    在大多数情况下,使用图片的 base64 编码会导致文件尺寸变大,而不是更小。这是因为 base64 编码的图片会包含更多的字符数据,用于表示图像的二进制内容,从而增加了文件的体积。相比之下,直接引用图片文件的方式更为高效,因为它只需要加载图片文件本身,而不需要额外的编码和解码操作。
    
    那么为什么还要用base64编码图片?
        1. 减少 HTTP 请求: 将图片编码为 base64 并直接嵌入到 CSS 或 HTML 中可以减少 HTTP 请求的数量,从而提高页面加载性能,特别是对于多个小图标或者背景图片的情况。

        2. 预加载: 在需要确保图片在页面加载时立即可用的情况下,将其编码为 base64 并直接嵌入到 HTML 中可以减少等待图片加载的时间,提升用户体验。

        3. 资源整合: 将多个小图标或者背景图片合并成一个 CSS Sprite 并编码为 base64,可以减少文件数量和服务器请求,从而减轻服务器负荷,提升网站性能。

    总的来说,尽管将图片转换为 base64 可能会增加文件体积,但在一些特定情况下,使用 base64 可以带来网站性能方面的优势,特别是在减少 HTTP 请求、预加载图片以及整合资源等方面。    

    背景知识
    对于服务器的负荷而言,HTTP 请求的次数通常比传输宽带更为重要。这是因为每个 HTTP 请求都需要服务器进行处理和响应,而这些过程可能涉及数据库查询、文件读取、处理逻辑等操作,都会消耗服务器的计算资源和时间。

    当一个网页包含多个小文件时,例如多个小型图片、CSS 文件、JavaScript 文件等,每个文件都需要通过单独的 HTTP 请求来获取。如果这些文件数量过多,就会导致服务器同时处理大量请求,从而增加了服务器的负荷。

    相比之下,传输宽带通常可以通过优化网络和服务器配置来提升,例如使用内容分发网络(CDN)、压缩文件、HTTP/2 多路复用等技术来减少传输时间和提高传输效率。但即便传输带宽足够大,如果服务器无法有效处理大量的 HTTP 请求,也会导致网站性能下降和用户体验不佳。

    因此,在优化网站性能时,通常会采取减少 HTTP 请求的策略,例如合并文件、使用 CSS Sprites、延迟加载等方式,以减轻服务器的负荷,提升网站的整体性能。    


12、表格table元素中不写thead,tbody,tfoot也能正确显示,为什么?

    在HTML中,<thead>、<tbody>和<tfoot>是表格结构的语义标签,用于标识表格的头部、主体和脚部。然而,即使不使用这些标签,现代的浏览器仍然能够正确地呈现表格内容。这是因为浏览器会根据表格中的 <tr>(行)标签来自动分配表格的头部、主体和脚部。

    在没有明确指定 <thead>、<tbody> 和 <tfoot> 的情况下,浏览器会做以下假设:
        第一个 <tr> 标签会被认为是表格的头部。
        后续的 <tr> 标签会被认为是表格的主体部分。
        最后一个 <tr> 标签会被认为是表格的脚部。

    这种假设使得即使在没有明确指定表格结构的情况下,浏览器也能够正确地呈现表格内容。但是,为了提高可读性和代码的可维护性,最好还是根据HTML的语义来明确地指定表格的结构,使用<thead>、<tbody>和 <tfoot> 标签。


13、表单form提交时如何用新页面?

    要使表单在提交时在新标签页中打开,您可以在表单标签中添加target="_blank"属性。例如:
    <form action="submit.html" target="_blank">
      <!-- 表单内容 -->
    </form>
    这样,当用户提交表单时,表单数据将被发送到submit.html页面,并在新标签页中打开。    


14、textarea中cols与rows是按什么标准计算?

    rows是按默认的行数来计算,例如3即3行的高度;cols是按默认的字符个数来计算,例如23表示23个字符宽度。
    在HTML中,如果没有设置 textarea 标签中的文本大小,默认情况下,文本大小通常为16像素。可以使用以下CSS代码来设置 textarea 标签中的文本大小


15、为什么select标签有name而无value?

    select 标签本身没有 value 属性,因为 select 标签本身不包含任何值,它只是用于显示和选择 option 标签中的选项。当用户选择一个选项时,该选项的 value 属性值将被发送给服务器。

    从语义上来说,select 标签用于呈现可选择的容器,而具体的值则由 option 标签来体现。因此,value 属性应该在 option 标签中,而不是直接用在 select 标签中。这样可以更好地体现语义,使代码更易于理解和维护。


16、表单中标签使用diable后会怎么样?

    一是该标签“失效”处于不可用的情况;二是提交表单时该值“消失”不会提交。
    

  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值