Skip to content
On this page

1、对语义化标签的理解

语义化就是根据不同的结构选择合适的标签,简单来说的就是使用正确的标签做正确的事情

比如:头部标签<header></header>、导航栏<nav></nav>、区块<section><section>、底部<footer> 等等

语义化的优点有很多:

1、方便维护,增强了可读性,页面结构一目了然;

2、对机器友好,有利于SEO和搜索引擎的爬虫抓取更多的有效信息,因为爬虫依赖于标签来确定上下文和各个关键字的权重;

3、在去掉或者丢失样式的时候能够让页面也能呈现出清晰的结构;

4、方便其他设备解析,比如屏幕阅读器、盲人阅读器、移动设备等,可以根据语义渲染页面,或者自动生成文章目录;

2、渐进增强和优雅降级

1、渐进增强

针对低版本浏览器进行构建页面,保证最基本的功能,然后再针对高级浏览器进行效果、交互等改进和追加功能达到更好的用户体验

2、优雅降级

一开始就构建完整的功能,然后再针对低版本浏览器进行兼容

3、适配相关

1、px + viewport适配

2、rem布局

CSS3媒体查询适配

基于设计图的rem布局

基于屏幕百分比的rem布局

小程序的rpx布局

3、vw布局

通过媒体查询的方式即 CSS3 的 meida、queries

以天猫首页为代表的 flex弹性布局

以淘宝首页为代表的 rem+viewport 缩放

rem方式

4、响应式布局

响应式页面:是指一套页面,能够适配多种终端,比如宽屏pc电脑、平板、手机

1、响应式布局的三个CSS技术

百分比流式布局(Liquid Layout)

网格系统 (Grid System)

@media 媒体查询

2、流式布局(Liquid Layout)就是百分比布局,也称非固定像素布局

将页面的宽度设置成百分比,根据窗口的宽度来进行伸缩,不受固定像素的限制

使用%百分比定义宽度(搭配min-*、max-*属性使用),高度大都是用px来固定住,可以根据可视区域 (viewport) 和父元素的实时尺寸进行调整,尽可能的适应各种分辨率。

3、栅格系统 (Grid System)

Grid布局是一种新的 CSS 布局模型,比较擅长将一个页面划分为几个主要区域,以及定义这些区域的大小、位置、层次等关系。它使用一系列容器、行和列来布局和对齐内容,这就意味着它可以同时处理列和行 媒体查询@media

媒体查询@media由媒体类型和一个或多个检测媒体特性的条件表达式组成。

通过媒体查询@media提供的一系列条件,我们可以对页面进行不同的布局组合,当媒体查询结果满足某些条件时,布局上进行相应的变化。

例如,当分辨率小于多少时,窗口由320变为750,需要调整对应的样式,一般和rem或em组合使用

5、HTML5 新特性

1、拖拽释放(drag and drop)API

2、语义化更好的内容标签(header footer nav aside article section)

3、音频、视频(audio video)API

4、画布(Canvas)API

5、地理(Geolocation)API

6、localstorage 和 sessionstorage 缓存方式

7、表单控件(calendar date time email ul search)

6、localstorage 和 sessionstorage

localStorage生命周期是永久,这意味着除非用户显示在浏览器提供的UI上清除localStorage信息,否则这些信息将永远存在;

sessionStorage生命周期为当前窗口或标签页,一旦窗口或标签页被永久关闭了,那么所有通过sessionStorage存储的数据也就被清空了;

localStorage支持5M大小的存储,并且一次请求就能存储在localStorage;

以后的每次调用都是直接从localStorage读取数据,不必再此请求接口,节省时间。

7、transform 有哪些值

Transform属性应用于元素的2D或3D转换。这个属性允许你将元素旋转,缩放,移动,倾斜等;

有rotate() 含义:旋转;deg是“度”的意思、skew() 含义:倾斜;

scale() 含义:比例;“1.5”表示以1.5的比例放大,缩小则为负- translate(,)含义:位移的意思;

分别还有x、y之分,比如:translatex() 和 translatey() ,以此类推。

transform属性有很多这是经常使用的一些属性

8、使元素消失的方法有哪些

常见的有以下几种:

1、设置display:none;在网页中不占任何的位置

2、设置visibility:hidden;将元素隐藏,但是在网页中该占的位置还是占着

3、设置opacity:0; 让元素透明

4、设置position:absolute;给top或left一个负值让元素移除页面显示范围

5、设置height:0;

9、什么是 BFC

BFC(Block Formatting Context)块格式化上下文, BFC就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素

产生bfc的条件:

1、浮动元素,float 除 none 以外的值;

2、定位元素,position(absolute,fixed);

3、display 为以下其中之一的值 inline-block,table-cell,table-caption;

4、overflow 除了 visible 以外的值(hidden,auto,scroll);

bfc特性:

1、内部的Box会在垂直方向上一个接一个的放置。

2、垂直方向上的距离由margin决定

3、bfc的区域不会与float的元素区域重叠。

4、计算bfc的高度时,浮动元素也参与计算

5、bfc就是页面上的一个独立容器,容器里面的子元素不会影响外面元素。

bfc的作用:

1、解决外边距折叠,上下两个盒子,第一个div的margin-bottom设置为10px,第二个div的margin-top设置为20px,

2、可以看到两个盒子最终的边距是20px,这就是外边距重叠的问题,解决这个问题, 为 第一个盒子套一个父盒子,这样两个盒子属于不同的bfc,该问题解决

以上就是我对bfc的认识。

link 引用 css 时,在页面载入时同时加载;而 @import 需要页面网页完全载入以后加载,可能会出现闪屏

link 是 XHTML 标签,无兼容问题,除了能加载CSS外还能加载RSS;而 @import 是在 CSS2.1 时提出的,低版本的浏览器不支持,只能加载 CSS

link 支持使用 JavaScript 控制 DOM 去改变样式;而 @import 不支持

11、position 的理解

Position是用来给元素进行定位的,常用属性有4个:

static是position的默认属性,元素会按正常的文档流进行排序,不会受到top,bottom,left,right的影响

relative相对于元素正常位置进行偏移,受top,bottom,left,right的影响。多用于absolute绝对定位的父元素。

absolute绝对定位会脱离文档流,相对于最近的定位(非static)父级元素定位,若父级元素没有定位,则相对于浏览器窗口定位。

fixed固定定位脱离文档流,一直相对于浏览器窗口定位,无论页面如何滚动,此元素总在屏幕的同一个位置。

注:当fixed定位的父元素使用了transform的样式时,fixed定位会失效,变成和absolute一样的效果。

使用:常与z-index和display js联合式用,实现网页中的效果,如图片轮播,吸顶效果等

12、边界塌陷(高度坍塌问题)

1、边界塌陷:

同时 给兄弟/父子设置上下边距,理论上是两者之和 ,事实上只有一半,这种现象 是边界塌陷

注: 浮动和定位不会产生边界塌陷,只有块级元素 垂直方向上才会产生 margin合并

解决方案:

margin 同为正数 或者 负数 取的绝对值大的数、margin 一正 一负 求两者的和

2、父子元素: 边界塌陷:

父元素:调整内边距、overflow:hidden ---> 出发bfc 看作是一个隔离的元素,不会影响其他元素

子元素:display:inline-block、overflow:hidden、浮动 和 定位

13、src与href的区别

src 和 href 都可以加载外部文件

区别:

1、href 用在 link 和 a 上,src 用在 js 、img 等标签上

2、当浏览器遇到 href 会并行下载资源并且不会停止对当前文件的处理

3、当浏览器解析到 src 会暂停其他资源的下载和处理,直到将该资源加载或执行完毕

Released under the MIT License.