当前位置: 首页 > news >正文

什么是cssreset ?为什么要用到cssreset?

1,什么是cssreset ?

顾名思义,css reset,样式重置。即重新设置界面的样式。

        CSS reset,又叫做 CSS 重写或者 CSS 重置,用于改写HTML标签的默认样式。 有些HTML标签在浏览器里有默认的样式,例如 p 标签有上下边距,li 标签有列表标识符号等。一开始,CSS的工作方式没有完全标准化。各个浏览器将自认为合适的“边框”,“填充”,“边距”,“字体”,“行高”等样式加载到一些基础元素(input,div,a,span)中,以赋予页面独特的感觉。这些默认样式在不同浏览器之间也会有差别,例如ul默认带有缩进的样式,在IE下,它的缩进是通过margin实现的,而Firefox下,它的缩进是由padding实现的。这必然会带来浏览器兼容问题。 因此,很基础的html元素在IE,Chrome,Firefox,Opera中的显示不尽相同。为了避免页面在不同的浏览器上有不同的效果,我们通常需要显示地对html元素的css样式进行一些默认设置,来将“浏览器自带的设置”重置掉,这个就叫做CSS Reset

2,为什么要用到cssreset?

如果你不定义HTML元素的默认css样式,那么浏览器自己就会用它自己的默认样式;但由于不同浏览器的默认样式是不一样的,会导致你开发的页面在不同浏览器上会看上去不太一样。

不同的浏览器在实现w3c标准过程中,对各个元素的实现是不一致的。这就导致了同一个页面在不同的浏览器中比如ie和chrome中,表现有差异。为了解决这个问题,即不同浏览器中表现的一致性,需要使用css reset。

3,如何使用css reset?

这个很简单,页面的头部引入css文件即可。

在头部直接添加style 标签。

*{margin: 0;padding: 0;}

但是这种做法的缺点在于,使用*来匹配所有的元素,这样会降低效率,会影页面的渲染性能。其次,很多不必要reset的元素也一刀切式地reset了。最后就是这个做法太过于简单,无法实现精细化的reset。

后来,有人整了专门的css reset。

比如最常见的两种:reset.css和normalize.css。

后者被bootstrap所采用。normalize.css修复了不同浏览器常见的不一致,规范化常见的组件风格,保存有用的默认值。因此,选择用Normalize.css来取代其它的CSS Resets。

4,辩证的判断是否需要CSS Reset

  • CSS Reset的主要目标是确保浏览器之间的一致性,并撤消所有默认样式,创建一个空白板。

  • 如今浏览器在布局或间距方面并没有太大的差异。总的来说,浏览器忠实地实现了CSS规范,所以不再那么需要了。

  • 我们应该根据实际的需求辩证的判断是否需要CSS Reset,保持简洁,高效即可。

  • 下面列出一个比较合适的CSS Reset模板,不会完全重置浏览器的默认样式而带来不便,同时能够避免一些常见的浏览器兼容性的问题。

5,使用CSS Reset的弊端

其实也有很多“不建议使用CSS Reset”的

  1. 所有的html元素都需要重新设置,会增加css文件的大小

  2. 如果重置掉一些基础属性,开发时会容易忘掉补充这些属性,反而引入显示混乱的问题

  3. 重置掉一些属性会影响用户通过键盘快捷键操作

http://www.lryc.cn/news/137980.html

相关文章:

  • SpringCloud学习笔记(四)_ZooKeeper注册中心
  • 【算法专题突破】双指针 - 移动零(1)
  • Nginx高可用集群
  • Rust 基础入门 ——所有权 引言 :垃圾自动回收机制的缺陷。
  • Ubuntu20.04安装软件报错:The following packages have unmet dependencies
  • Java 与设计模式(12):享元模式
  • React配置代理(proxy)
  • 队列(Queue):先进先出的数据结构队列
  • CentOS ens160 显示disconnected
  • 使用 ChatGPT 创建 PowerPoint 演示文稿
  • matlab将数组值划分为两类
  • 【点击新增一个下拉框 与前一个内容一样 但不能选同一个值】
  • 【Gitee提交pr】
  • 一款打工人必备的电脑端自律软件!!冲鸭打工人!!
  • 【Vue框架】 router和route是什么关系
  • 整理mongodb文档:聚合管道
  • Delphi 11.3 FMX 多设备平台中使用 TGrid 实现类似 TDBGrid 的效果
  • Qt-事件循环与QtConcurrent、QThread结合使用时注意的点
  • 基于MongoDB的空间数据存储与查询
  • jquery中pdf的上传、下载及excel导出
  • 【MyBatis】:PageHelper分页插件与特殊字符处理
  • C语言练习1(巩固提升)
  • eCharts热力图Y轴左上角少一块
  • RabbitMQ介绍
  • 玩转软件|钉钉个人版内测启动:AI探索未来的工作方式
  • 【Linux】一张图了解系统文件
  • 自动化测试平台seldom-platform部署及使用
  • 2023年8月第3周大模型荟萃
  • win11 设置小任务栏
  • 在 React 中获取数据的6种方法