欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

CSS的sprite和单位_html/css_WEB-ITnose

程序员文章站 2022-03-31 12:21:51
...
(1).关于css sprite技术

比方说:

  1. 有个论坛频道,其中有个一些论坛特有的小图标(火啊,顶啊之类),基于整站小图标大团结的思想,这些小图标也放在了那个icon背景图片上了。然而,数年下来,我发现,论坛的那几个图标就论坛这个频道使用了,这几个图标跟着整站走,对于99%的页面而言,是多余的,浪费流量,典型的“占着茅坑不拉屎”!
  2. 数年之后,有些图标要做调整。问题来了,有些图标不记得其他地方有没有使用过,不敢删除,不敢替换。这可维护性立马下降了很多!

改进:

  1. 属性分组:例如,所有分享系列的图标(新浪微博,企鹅微博小图标)集合
  2. 功能分组:所有表示餐厅优惠状态的图标(惠,券等)集合在一起
  3. 直接独立:无亲无故的小图标就不要硬是去攀关系,自己独立一家即可

总结:
不能执着于某个牛角尖(我要最少的请求数)而破坏了大局的权衡。

(2).绝对单位和相对单位

input, textarea, select这些控件元素本身就有文字大小,默认不会直接继承body等父级标签。因此,我们需要reset下,否则16像素的文字会吓着用户的。

最初的时候,受一些大网站的影响,是这样设置的:

input, textarea, select { font-size: 12px; }

我看了下,眼睛微博还是这样子的(//zxx: 无数次事实表明,要想举反例,眼睛微博一找一个准):

然而,这种设置很不好。为何,看看上面“螃蟹和章鱼的故事”中螃蟹的下场就知道了!不灵活,不能自动适应,只会变成困兽,任人宰割。

好的做法是这个:

input, textarea, select { font-size: 100%; }

这个百分之百最佳实践,毋庸置疑,与什么狗屁经验没有一点关系。为什么这样设置?你用了就知道了。

对了,临时想到其他一点东西,我看到很多人写两层标签按钮的时候,会有类似下面的代码:

.redbtn { height: 24px; ... }.redbtn .btn { height: 24px; ... }

如果你不写个高度height就缺乏安全感的话,你这样写也好啊:

.redbtn { height: 24px; ... }.redbtn .btn { height: 100%; ... }

其实呢,有个height是多余的,这样子就够了:

.redbtn { ... }.redbtn .btn { height: 24px; ... }

记住,内外标签如果高度一样,不要同时出现相同的定值。

相关标签: CSS的sprite和单位