html和css知识总结

时间:2021-09-09 19:41:51

2,HTML文档开头的DOCTYPE什么作用?

  • 作用:告知浏览器按照何种规范(HTML或XHTML)来解析页面。

3,div+css的布局比table布局有哪些优点?

  • 维护的时候更方便,只要改css文件即可
  • 页面加载速度更快、结构化清晰、页面显示简洁
  • 表现与结构分离
  • 易于优化搜索引擎更友好,排名更容易靠前。

4,img的alt与title有何异同?strong与em区别?

  • a:alt(alt?text):为不能显示图像、窗体或applets的用户代理,alt属性用来指定替换文字。替换文字的语言由lang属性指定。(在IE浏览器下会在没有title时把alt当成 tool tip显示)

  • title(tool tip):该属性为设置该属性的元素提供建议性的信息。

  • strong:粗体强调标签,强调,表示内容的重要性

  • em:斜体强调标签,更强烈强调,表示内容的强调点

5,src和href的区别?

  • 1,src用于替换当前元素,href用于在当前文档和引用资源之间确立联系

  • 2,src是source的缩写,指向外部资源的位置,指向的内容将会嵌入到文档中当前标签所在位置;在请求src资源时会将其指向的资源下载并应用到文档内,例如js脚本,img图片和frame等元素。script?src?=”js.js”>当浏览器解析到该元素时,会暂停其他资源的下载和处理,直到将该资源加载、编译、执行完毕,图片和框架等元素也如此,类似于将所指向资源嵌入当前标签内。这也是为什么将js脚本放在底部而不是头部。

  • 3,href是Hypertext?Reference的缩写,指向网络资源所在位置,建立和当前元素(锚点)或当前文档(链接)之间的链接,如果我们在文档中添加
    link?href=”common.css”?rel=”stylesheet”/>
    那么浏览器会识别该文档为css文件,就会并行下载资源并且不会停止对当前文档的处理。这也是为什么建议使用link方式来加载css,而不是使用@import方式。

6,网页制作用到的图片格式有哪些?

  • png-8,png-24,jpeg,gif,svg,重点:Webp

  • WebP格式,谷歌(google)开发的一种旨在加快图片加载速度的图片格式。图片压缩体积大约只有JPEG的2/3,并能节省大量的服务器带宽资源和数据空间。Facebook Ebay等知名网站已经开始测试并使用WebP格式。
    在质量相同的情况下,WebP格式图像的体积要比JPEG格式图像小40%

7,设置CSS的三种样式?

  • 1,外部样式表:引入一个外部css文件
  • 2,内部样式表:将css代码放在

8,css选择器

  • 内联选择器(用HTML标签申明)
  • id选择器(用DOM的ID申明)
  • 类选择器(用一个样式类名申明)
  • 属性选择器
  • 后代选择器(利用空格间隔,比如div .a{ })
  • 群组选择器(利用逗号间隔,比如p,div,#a{ })

CSS选择器的优先级定义基本原则:
!important>id选择器>类选择器>内联选择器

9,css中通过哪些属性设置让DOM元素隐藏?

  • 设置dsplay属性为none
  • 设置visibility属性为hidden
  • 设置宽高为0,
  • 设置透明度为0
  • 设置z-index位置在-1000

10,超链接访问过后hover样式就不出现的问题是什么?如何解决?

  • 被点击访问过的超链接样式不在具有hover和active
  • 解决方法是改变CSS属性的排列顺序:?L-V-H-A(link,visited,hover,active)

11,行内元素和块级元素的具体区别是什么?行内元素的padding和margin可设置吗?

  • 块级元素(block)特性:
    总是独占一行,表现为另起一行开始,而且其后的元素也必须另起一行显示;
    宽度(width)、高度(height)、内边距(padding)和外边距(margin)都可控制;

  • 行内元素(inline)特性:
    和相邻的内联元素在同一行;
    宽度(width)、高度(height)、内边距(padding-top/padding-bottom)和外边距(margin-top/margin-bottom)都不可改变

  • 行内元素padding和margin的left和right是可以设置的,就是里面文字或图片的大小。

  • 浏览器默认的天生inline-block元素,拥有内在尺寸,可设置高宽,但不会自动换行,有
    input> 、img> 、button> 、texterea> 、label>。

12,什么是外边距重叠?折叠的结果是什么?

  • 外边距重叠就是margin-collapse。

  • 在CSS当中,相邻的两个盒子(可能是兄弟关系也可能是祖先关系)的外边距可以结合成一个单独的外边距。这种合并外边距的方式被称为折叠,并且因而所结合成的外边距称为折叠外边距。

  • 折叠结果遵循下列计算规则:

1,两个相邻的外边距都是正数时,折叠结果是它们两者之间较大的值。

2,两个相邻的外边距都是负数时,折叠结果是两者绝对值的较大值。

3,两个外边距一正一负时,折叠结果是两者的相加的和。

13,rgba()和opacity的透明效果有什么不同?

  • rgba()和opacity都能实现透明效果,但最大的不同是opacity作用于元素,以及元素内的所有内容的透明度,而rgba()只作用于元素的颜色或其背景色。

  • 设置rgba透明的元素的子元素不会继承透明效果!

14,css中可以让文字在垂直和水平方向上重叠的两个属性是什么?

  • 垂直方向:line-height
  • 水平方向:letter-spacing
  • 注意:letter-spacing可以用于消除inline-block元素间的换行符空格间隙问题。

15,px和em的区别。

  • px和em都是长度单位,
  • 区别是,px的值是固定的,指定是多少就是多少,计算比较容易。em得值不是固定的,并且em会继承父级元素的字体大小。

  • 浏览器的默认字体高都是16px。所以未经调整的浏览器都符合: 1em=16px。那么12px=0.75em, 10px=0.625em。

16,display:none与visibility:hidden的区别是什么?

  • display:隐藏对应的元素但不挤占该元素原来的空间。
  • visibility:隐藏对应的元素并且挤占该元素原来的空间。

  • 使用CSS display:none属性后,HTML元素(对象)的宽度、高度等各种属性值都将“丢失”;而使用visibility:hidden属性后,HTML元素(对象)仅仅是在视觉上看不见(完全透明),而它所占据的空间位置仍然存在。

17,CSS中link和@import的区别是:

  • Link属于html标签,而@import是CSS中提供的。
  • 在页面加载的时候,link会同时被加载,而@import引用的CSS会在页面加载完成后才会加载引用的CSS

  • @import只有在ie5以上才可以被识别,而link是html标签,不存在浏览器兼容性问题

  • Link引入样式的权重大于@import的引用,@import是将引用的样式导入到当前的页面中。

18,盒子模型:

  • IE 盒子模型、标准 W3C 盒子模型;IE 的content部分包含了 border 和 pading;

  • 盒模型: 内容(content)、填充(padding)、边界(margin)、 边框(border).

19,BFC是什么?

  • BFC:块级格式化上下文。

  • BFC是指浏览器中创建了一个独立的渲染区域,该区域内所有元素的布局不会影响到区域外元素的布局,这个渲染区域只对块级元素起作用

20,html语义化是什么?

  • 当页面样式加载失败的时候能够让页面呈现出清晰的结构
  • 有利于seo优化,利于被搜索引擎收录,更便于搜索引擎的爬虫程序来识别。

  • 便于项目的开发及维护,使html代码更具有可读性,便于其他设备解析。

21,HTML与XHTML——二者有什么区别?

    1. 所有的标记都必须要有一个相应的结束标记
    1. 所有标签的元素和属性的名字都必须使用小写
    1. 所有的 XML 标记都必须合理嵌套
    1. 所有的属性必须用引号 “” 括起来
    1. 把所有 < 和 & 特殊符号用编码表示
    1. 给所有属性赋一个值
    1. 不要在注释内容中使用 “–”
    1. 图片必须有说明文字

22,有那些行内元素、有哪些块级元素?

行内元素(inline element)

  • a – 锚点
  • abbr – 缩写
  • acronym – 首字
  • b – 粗体(不推荐)
  • big – 大字体
  • br – 换行
  • em – 强调
  • font – 字体设定(不推荐)
  • i – 斜体
  • img – 图片
  • input – 输入框
  • label – 表格标签
  • s – 中划线(不推荐)
  • select – 项目选择
  • small – 小字体文本
  • span – 常用内联容器,定义文本内区块
  • strike – 中划线
  • strong – 粗体强调
  • sub – 下标
  • sup – 上标
  • textarea – 多行文本输入框
  • tt – 电传文本
  • u – 下划线
  • var – 定义变量

块级元素

  • address – 地址
  • blockquote – 块引用
  • center – 举中对齐块
  • dir – 目录列表
  • div – 常用块级容易,也是css layout的主要标签
    + dl – 定义列表
  • fieldset – form控制组
  • form – 交互表单
  • h1 – 大标题
  • h2 – 副标题
  • h3 – 3级标题
  • h4 – 4级标题
  • h5 – 5级标题
  • h6 – 6级标题
  • hr – 水平分隔线
  • isindex – input prompt
  • menu – 菜单列表
  • noframes – frames可选内容,(对于不支持frame的浏览器显示此区块内容)
  • noscript – )可选脚本内容(对于不支持script的浏览器显示此内容)
  • ol – 排序表单
  • p – 段落
  • pre – 格式化文本
  • table – 表格
  • ul – 非排序列表

23,列出display的值,说明他们的作用。position的值, relative和absolute定位原点是?

display的值:

  • block 象块类型元素一样显示。
  • inline 像行内元素类型一样显示。
  • inline-block 象行内元素一样显示,但其内容象块类型元素一样显示。
  • list-item 象块类型元素一样显示,并添加样式列表标记。

position的值

  • absolute:生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。
  • fixed :生成绝对定位的元素,相对于浏览器窗口进行定位。
  • relative:生成相对定位的元素,相对于其正常位置进行定位。
  • static 默认值。没有定位,元素出现在正常的流中
  • inherit 规定从父元素继承 position 属性的值。

24,哪些css属性可以继承?

  • 可继承: font-size font-family color, ul li dl dd dt;
  • 不可继承 :border padding margin width height ;

25,text-align:center和line-height有什么区别?

  • text-align是水平对齐,
  • line-height是行间。