博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
糟糕的css用法 1
阅读量:5221 次
发布时间:2019-06-14

本文共 919 字,大约阅读时间需要 3 分钟。

现在网站追求越来越漂亮好看,越来越炫,所以css是必不可少的.可是我发现许多人使用css的方式是不对的,至少是不推荐的.

比如下面的css用法不对

(1)一个页面对应一个css文件

这种做法是我深恶痛绝的,为什么呢?可重用性太差了!

比如哪天我突然要改变一个按钮的样式,那就坏了,只要包含按钮的页面的样式我都得改,比如有20个页面包含了按钮,那么我就得修改20个css文件,这不要人命吗?

根本原因:相同的样式重复出现在多个文件中.

 

(2)编写css样式时直接修改html标签的样式

例如:

 没有通过id或class,这种方式非常不好,因为它的影响是完全开放的,任何一个页面引入该css文件就会受到影响.我项目中就遇到了.当时我们使用了WebCalendar.js 作为日期控件,本来界面应该是:
 

但是实际的效果是:

 原因:引入的css竟然影响了其他控件.这不是我们期望的效果.

 

正确的方式应该是:

 想要应用该css怎么办?加上class就行了.

 

(3)相同的代码出现在多个地方

 
 这段css代码竟然出现了至少四次.如果客户说要修改行(line-height)的高度,那么我就要同时修改至少四个地方.这不是自己人坑自己人吗?

 

(4)滥用id

例如:

 我们要知道id的权重是最高的.在日常开发中,我们更多的情况是会遇到如下情况:

#header a { border:2px dashed #000 }

   假设这是我们的一个项目,现在我们决定要把一个在 header 的 另一个link设置成无边框,随手一写,我们添加了:

.special-link { border:none }

   然后再在 html 中添加了一个 special-link 的class 类,这下解决我们的问题了吗? 答案是:没有! 由于 id 的权重如此之高,我们需要更高权重的声明才能实现我们的需求。

 

下面这样写才是正确的:

#header .special-link { border: none }附件是我总结的html笔记:html02.zip
  •  (1.9 MB)

转载于:https://www.cnblogs.com/ranzige/p/4167378.html

你可能感兴趣的文章
用UL标签+CSS实现的柱状图
查看>>
mfc Edit控件属性
查看>>
Linq使用Join/在Razor中两次反射取属性值
查看>>
[Linux]PHP-FPM与NGINX的两种通讯方式
查看>>
Java实现二分查找
查看>>
优秀员工一定要升职吗
查看>>
[LintCode] 462 Total Occurrence of Target
查看>>
springboot---redis缓存的使用
查看>>
架构图-模型
查看>>
sql常见面试题
查看>>
jQuery总结第一天
查看>>
Java -- Swing 组件使用
查看>>
Software--Architecture--DesignPattern IoC, Factory Method, Source Locator
查看>>
poj1936---subsequence(判断子串)
查看>>
黑马程序员_Java基础枚举类型
查看>>
[ python ] 练习作业 - 2
查看>>
一位90后程序员的自述:如何从年薪3w到30w!
查看>>
在.net core上使用Entity FramWork(Db first)
查看>>
System.Net.WebException: 无法显示错误消息,原因是无法找到包含此错误消息的可选资源程序集...
查看>>
UIImage 和 iOS 图片压缩UIImage / UIImageVIew
查看>>