关于 CSS 我们是不是已经走得太远?
来源:互联网 发布:好软tv网络电视 编辑:程序博客网 时间:2024/04/27 21:18
CSS 是了不起的技术,我第一次用到的时候,觉得这是我做梦都想不到的东西,随着 CSS3 的引入,圆角,阴影,旋转等等技术更将 CSS 带到前所未有的高度。然而,关于 CSS,我们是不是已经走得太远,本文以一个 Web 设计师的角度对 CSS 的一些实验性应用做了另一种思考。
那些有关 CSS 的前卫实验
几个月前,作者在 Six Revisions 发表了一篇文章,介绍了 5 个有趣的 CSS 实验:
- CSS3 Transforms & @font-face Experiment
- CSS Posters
- Pure CSS Line Graph
- CSS3 Leopard-style Stacks
- Pure CSS Twitter Fail Whale
每个实验都是用了不同的方法,其中一些,如 CSS 线图,在现实中可以找到实际的应用,其它的,如 CSS 实现的 Twitter Fail Whale 图画,则纯属实验,这些实验的目的仅仅为了说明 CSS 能够实现的效果,并不意味着应当这样来做。
让我们实际一点
上图是用纯 CSS 实现的社会媒体网络标志,很神奇不是?
我最近读了 Faruk Ateş 的文章,Pure CSS Icons: Make The Madness Stop,文中对这一做法提出了质疑,作者表示,一些人开始尝试将 CSS 当作设计工具并迅速引发大量效仿,然而,这种做法有多少易用性可言?它并不容易集成到你的设计与开发当中,也不容易调整。
就像上面的完全基于 CSS 的社会网络标志,无非是一堆各式各样的线条的组合,固然令人印象深刻,也算有创意,但并不实用,因为创作这样一个标志可能需要几个小时的艰辛劳动,在 Photoshop 中画一个同样的图根本不费任何力气,而且效果更好(更细腻)。
Ateş 认为,这种方式生成的图标的可维护性也很成问题,调整一个图标原本只需要调整像素,现在却需要修改 CSS 定义,同时,上述 CSS 标志的设计者 Nicolas Gallagher 也表示,做这类事情,CSS 并非最适合。
降低 HTTP 请求?
上面这幅图中的图标全部用 CSS 生成,而且作者将它们拿出来卖,40个图标卖25美金。不得不承认,这些图标设计得非常漂亮,作者设计这些 CSS 的初衷是为那些使用的网站降低 HTTP 请求数,因为这些图标不需要额外的图片文件请求。然而,一个小小的图标文件带来的 HTTP 请求真的很值得一提吗,何况,使用 CSS Sprite 技术,这些图标完全可以放在同一个图片中,靠 CSS 定位显示,这样,只需要一个 HTTP 请求就够了。而且,我实在怀疑,这些 CSS 版的图标到底能减少多少带宽。
本着语义化的精神
必须承认,我有时候会为了实现某种视觉上的需要,而额外使用 DIV 或 SPAN 等标签,这很不语义。然而 CSS 绘图是更不语义的事,CSS 的真实使命是对网页中的内容进行修饰,而不是创建内容本身。网页中的图形本身属于内容的范畴,不应该由 CSS 创建。
本文原文来源:blog.echoenduring.com Are We Taking CSS Too Far? (原文作者:Matt Ward)
中文节译来源:锐商企业CMS 网站内容管理系统 官方网站
- 关于 CSS 我们是不是已经走得太远?
- 我们已经走得太远,忘记了为什么出发
- 走得太慢。
- win7-win8微软的系统已经走的太远了,我们是否需要一款中国化的XP系统?
- 《不要因为走得太远 而忘记为什么出发》
- 你是不是想得太简单了
- 走得太快的人
- 别走得太快,等一等灵魂
- 白岩松: 走得太远,别忘了当初为什么出发
- 我们都老得太快,却聪明得太迟
- 我们都老得太快,却聪明得太迟
- 卢松松:【站长图卦】我们是不是太顺了?
- 我们是不是已经在另一个互联网泡沫之中?
- 情感日记:春天已经走远
- 我们的眼睛用得太狠了
- 我们老得太快,聪明却来得太迟
- 我们老得太快,聪明却来得太迟
- 感情其实走不了太远
- 2010-08-21
- whois-whoami-who-w
- PC与万花筒
- 关于static
- dynamips的net文件格式
- 关于 CSS 我们是不是已经走得太远?
- linux awesome rc.lua 的配置
- SDK中Tab控件的使用
- Java操作Microsoft Word之jacob
- 基于注解的 Spring MVC 简单入门
- 根目录下文件夹的存放
- 关于.Net WinForm 中的控件失去焦点时触发事件的问题
- /bin下的一些命令
- ASP获取客户端硬件信息(CPU、硬盘、主板、mac地址等)