CSS教程:视觉语义不等于基于表现的类

网页制作Webjx文章简介:HTML和CSS中的视觉语义.

你和用户之间的网站堆栈(简化版)

在TXJS大会的最后一天,一个开发者问我:

面向对象的CSS没有给你留下一大堆基于表现的class名?

网络堆栈中的每一层都有它自己的结构。你不会期望将数据库架构用于构建PHP中间件,人们对于HTML和CSS的期望是一样一样的。HTML需要用一种能代表数据或内容的有意义的东西来书写,也就是我所谓的代码语义。HTML中的代码语义对于可移植性和易用性都是极为重要的。另一方面,CSS在堆栈中确实是一个独立的层,它需要能反映页面的视觉语义的属于自己的体系结构。

视觉语义描述在页面设计中的全部重复模式。他们描绘了你的网站的基本组成部分。事实上,他们往往只需要少许的修改就能轻松的实现跨站点应用。视觉语义,不一定要捆绑到HTML语义,因为你需要一个符合每一层堆栈的具体需求的架构。

从样式中剥离模板结构

同样,许多PHP开发人员想要匹配CSS和HTML架构到PHP。或许尝试将你最熟悉的某一层抽象应用到他们你会觉得更具挑战?对这一点儿我感到很惭愧。在我在Facebook的时候,我希望PHP层能匹配CSS层。还好Facebook有一些聪明的开发者勒住了并帮我增进了理解。

强硬的把CSS和HTML塞到PHP里面可以防止代码太枯燥(DRY)并最终导致代码臃肿,因为的CSS和HTML需要比PHP更细致的对象结构。事实上,PHP的模板不是天生合适的,因为每个模板包含了许多不同的HTML,以及以不同的方式相结合的CSS对象。

视觉语义!=基于表现的类

需要注意的重要的是,我不是建议类似“giantBlueHeading”的类名。类名需要表现你要定义的对象结构,而不是特定的视觉类的名。例如,我经常选择好记的比较抽象的类名,如“media”很容易记住。media块由一个固定宽度的图片或flash和一些文字或其他内容组合。

media块可用于许多不同的情况,例如,组合一个图标和一个链接或个人资料图片和用户名。具体用例是从对象结构中分离出来的。HTML可以被看作是CSS对象的实例。

该media块的代码 ,和许多其他基本的对象都可以在OOCSS开源项目中找到 。

PS:如果你对OOCSS不太熟悉,可以阅读一下OOCSS的FAQ,以及99CSS对该FAQ的中文翻译

本文译自:Visual Semantics in HTML and CSS
原作者:Nicole Sullivan
中文原文:HTML和CSS中的视觉语义
请尊重版权,转载请注明出处,多谢!

时间: 2024-09-17 04:31:13

CSS教程:视觉语义不等于基于表现的类的相关文章

HTML和CSS中不同的视觉语义

网页制作Webjx文章简介:你和用户之间的网站堆栈(简化版) 在TXJS大会的最后一天,一个开发者问我: 面向对象的CSS没有给你留下一大堆基于表现的class名? 网络堆栈中的每一层都有它自己的结构.你不会期望将数据库架构用于构建PHP中间件,人们对于HTML和CSS的期望是一样一样的.HTML需要用一种 你和用户之间的网站堆栈(简化版) 在TXJS大会的最后一天,一个开发者问我: 面向对象的CSS没有给你留下一大堆基于表现的class名? 网络堆栈中的每一层都有它自己的结构.你不会期望将数据

HTML和CSS中的视觉语义

你和用户之间的网站堆栈(简化版) 在TXJS大会的最后一天,一个开发者问我: 面向对象的CSS没有给你留下一大堆基于表现的class名? 网络堆栈中的每一层都有它自己的结构.你不会期望将数据库架构用于构建PHP中间件,人们对于HTML和CSS的期望是一样一样的.HTML需要用一种能代表数据或内容的有意义的东西来书写,也就是我所谓的代码语义.HTML中的代码语义对于可移植性和易用性都是极为重要的.另一方面,CSS在堆栈中确实是一个独立的层,它需要能反映页面的视觉语义的属于自己的体系结构. 视觉语义

【阿里ICCV论文技术解读】基于层次化多模态LSTM的视觉语义联合嵌入

精准描述商品:计算机视觉和自然语言处理的联合 近年来, 随着深度学习技术的快速发展, 人们开始尝试将计算机视觉(Vision)和自然语言处理(Language)两个相对独立的领域联合起来进行研究, 实现一些在过去看来非常困难的任务,例如"视觉-语义联合嵌入(Visual-Semantic Embedding)".该任务需要将图像及语句表示成一个固定长度的向量,进而嵌入到同一个矢量空间中.这样,通过该空间中的近邻搜索可以实现图像和语句的匹配.检索等. 视觉语义联合嵌入的一个典型应用就是图

阿里iDST ICCV 2017录用论文详解:基于层次化多模态LSTM的视觉语义联合嵌入

本文讲的是阿里iDST ICCV 2017录用论文详解:基于层次化多模态LSTM的视觉语义联合嵌入, ICCV,被誉为计算机视觉领域三大顶级会议之一的.作为计算机视觉领域最高级别的会议之一,其论文集代表了计算机视觉领域最新的发展方向和水平.阿里巴巴在今年的 ICCV 2017上有多篇论文入选. 本文是阿里iDST与西安电子科大.西安交大等合作的 ICCV 2017 论文解读<基于层次化多模态LSTM的视觉语义联合嵌入>(Hierarchical Multimodal LSTM for Dens

经典实用CSS教程详细讲解

css|教程 CSS(Cascading Stylesheets,层叠样式表)是一种制作网页的新技术,现在已经为大多数的浏览器所支持,成为网页设计必不可少的工具之一.使用CSS能够简化网页的格式代码,加快下载显示的速度,也减少了需要上传的代码数量,大大减少了重复劳动的工作量.尤其是当你面对的是有数百个网页的站点时,CSS简直象是神对我们的恩赐! 前言 CSS(Cascading Stylesheets,层叠样式表)是一种制作网页的新技术,现在已经为大多数的浏览器所支持,成为网页设计必不可少的工具

强烈推荐:非常不错的样式表CSS教程(3)

css|教程|样式表 ■继 承 和 层 叠 CSS规则影响元素的显示形态,但是如果没有样式匹配或者存在多种样式规则同时匹配该元素时,元素显示的形态到底是遵循哪个规则呢?本节论述的内容涉及到样式的继承和层叠方面的知识. ●继 承 有些样式通过默认的样式设置而"继承",也就是说,子元素继承父元素的样式规则,包括color.font和text-align等等. 例如: p { color: red } ... <p>Sample paragraph with <b>b

DIV CSS教程:margin叠加原理以及边界条件浅谈

css|教程|条件 边界叠加是一个相当简单的概念.但是,在实践中对网页进行布局时,它会造成许多混淆.简单地说,当两个垂直边界相遇时,它们将形成一个边界.这个边界的高度等于两个发生叠加的边界的高度中的较大者. 当一个元素出现在另一个元素上面时,第一个元素的底边界与第二个元素的顶边界发生叠加,见图: 元素的顶边界与前面元素的底边界发生叠加 当一个元素包含在另一个元素中时(假设没有填充或边框将边界分隔开),它们的顶和/或底边界也发生叠加,见图: 元素的顶边界与父元素的顶边界发生叠加 尽管初看上去有点儿

CSS3教程收集分享:具有动画过渡效果的CSS教程

文章简介:CSS3教程收集分享:具有动画过渡效果的CSS教程. 今天我们分享出了18个优秀的具有动画过渡效果的CSS3详细教程.CSS3让一切变得更加容易和高效,它改变了很多旧的WEB开发技术,在目前网络高速发展的当下,更好的为网页设计师来做后期的维护提供的便利.随着这一过渡效果的使用,让更多的设计变得高效起来.让网页也变得更具艺术过渡的 气质.下面这18个例子可以让你得到更多的灵感.也会让你的交互创意灵感变得更加有意思起来. 创建一个下拉菜单,使用CSS3转换 (演示 下载) 动画Popove

CSS命名的语义化和html5为语义和体验而生

文章简介:html5–为语义和体验而生. 开篇前的一些YY 曾几何时,一个人出设计稿,出完设计稿打开DW用拖出一个页面,再苦逼一点拖完页面后自己还要写后台,武林人称:美工.更苦逼的是当每一次需求变更后,去修改一大堆发麻的 ,于是"div+css"被搬上了互联网时代的舞台,一夜间N多的<DIV+CSS>葵花宝典横空出世,那时,我们活在了div+css的年代,那时,我们用上了 之后,腰不酸,腿不痛,加班也带劲了. YY结束,切入正题 Ghost曾在2年前就以<页面重构中的