`

学习css 一

 
阅读更多

Cascading Style Sheets: The Definitive Guide, 2nd Edition is a thorough review of all aspects of CSS2.1 and a comprehensive guide to CSS implementation. The book includes new content on positioning, lists and generated content, table layout, user interface, paged media, and more. It explores in detail each individual CSS property and how it interacts with other properties, and shows how to avoid common mistakes in interpretation.
W3cCss主页:
1 css和document
1.1 elements
html中的元素很容易辨识,如p,table,span,a,div。
xml中元素由dtd定义,或者xml schema定义。每个元素部分代表了其表现方式。
Css中可以看作每个元素产生一个box,该box包含了元素的内容。
1.1.1元素类型:replaced和nonreplaced elements,block-level和inline-level elements
replaced elements:元素的内容可以被不是直接由文档表示的内容替换。典型的是xhtml中的img,它可以被指向文档外部的图片文件代替。
Input元素也可以根据其type的不同,而被radio button,checkbox,text input box代替。
Replaced elements也在显示时产生一个box。
Nonreplaced elements:html和xhtml的大多数元素是nonreplaced。就是说,这些元素的内容由用户代理(user agent,通常是指浏览器)在元素产生的box中来表述present。(box是不是指元素对应在页面上的一个region?)。
比如<span>hi there</span>是nonreplaced,文本hi here将由user agent
来显示。
Block-level element块元素:产生一个元素box,该box填充其父元素的内容区域,并且其两边没有其他元素。就是说在默认的情况下每个block-level都是单独一行的。比如p,div。
list items是一种特殊的块元素。为了跟其他块元素具有统一的行为,为无序的lists产生一个符号,如bullet;为有序的lists产生一个数字。将符号或数字加到元素box上。除了符号的表现方式外,其他特性跟其余的块元素一样。
Inline-level element内联元素:产生一个元素box,其中是一行文本,并且不是单独一行的。
典型的例子是xhtml中的a元素,另外如strong,em。因为内联元素不会打断其前后的
显示,所以内联元素出现在其他元素中的话不会打断其他元素的显示。
注意:xhtml和html中块元素不能从内联元素继承,但是css中没有类似规定。没有限制元素嵌套方式。

块元素(block element)一般是其他元素的容器元素,块元素一般都从新行开始,它可以容纳内联元素和其他块元素,常见块元素是段落标签'P。"form"这个块元素比较特殊,它只能用来容纳其他块元素。

   如果没有css的作用,块元素会顺序以每次另起一行的方式一直往下排。而有了css以后,我们可以改变这种html的默认布局模式,把块元素摆放到你想 要的位置上去。而不是每次都愚蠢的另起一行。需要指出的是,table标签也是块元素的一种,table based layout和css based layout从一般使用者(不包括视力障碍者、盲人等)的角度来看这两种布局,除了页面载入速度的差别外,没有其他的差别。但是如果普通使用者不经意点了 查看页面源代码按钮后,两者所表现出来的差异就非常大了。基于良好重构理念设计的css布局页面源码,至少也能让没有web开发经验的普通使用者把内容快 速的读懂。从这个角度来说,css layout code应该有更好的美学体验吧。

  你能够把块容器元素div想象成一个个box或者如果你玩过剪贴文载的话,那就更加容易理解了。我们先把需要的文章从各种报纸、杂志总剪 下来。每块剪下来的内容就是一个block。然后我们把这些纸块按照自己的排版意图,用胶水重新贴到一张空白的新纸上。这样就形成了你自己独特的文摘快报 了。作为一种技术的延伸,网页布局设计也遵循了同样的模式。.

  内联元素(inline element)一般都是基于语义级(semantic)的基本元素。内联元素只能容纳文本或者其他内联元素,常见内联元素"a"

   块元素(block element)和内联元素(inline element)都是html规范中的概念。块元素和内联元素的基本差异是块元素一般都从新行开始。而当加入了css控制以后,块元素和内联元素的这种属 性差异就不成为差异了。比如,我们完全可以把内联元素cite加上display:block这样的属性,让他也有每次都从新行开始的属性。

  可变元素的基本概念就是他需要根据上下文关系确定该元素是块元素或者内联元素。可变元素还是属于上述两种元素类别,一旦上下文关系确定了他的类别,他就要遵循块元素或者内联元素的规则限制。大致的元素分类见全文。

   ps:关于inline element的中文叫法,有多种内联元素、内嵌元素、行内元素、直进式元素。基本上没有统一的翻译,爱怎么叫怎么叫吧。另外提到内联元素,我们会想到有 个display的属性是display:inline;这个属性能够修复著名的IE双倍浮动边界问题。

块元素(block element)
* address - 地址
* blockquote - 块引用
* center - 举中对齐块
* dir - 目录列表
* div - 常用块级容易,也是css layout的主要标签
* dl - 定义列表
* fieldset - form控制组
* form - 交互表单
* h1 - 大标题
* h2 - 副标题
* h3 - 3级标题
* h4 - 4级标题
* h5 - 5级标题
* h6 - 6级标题
* hr - 水平分隔线
* isindex - input prompt
* menu -
菜单列表
* noframes - frames可选内容,(对于不支持frame的浏览器显示此区块内容
* noscript - )可选脚本内容(对于不支持script的浏览器显示此内容)
* ol - 排序表单
* p - 段落
* pre - 格式化文本
* table - 表格
* ul - 非排序列表

内联元素(inline element)
* a - 锚点
* abbr - 缩写
* acronym - 首字
* b - 粗体(不推荐)
* bdo - bidi override
* big -
大字体
* br - 换行
* cite - 引用
* code - 计算机代码(在引用源码的时候需要)
* dfn - 定义字段
* em - 强调
* font - 字体设定(不推荐)
* i - 斜体
* img - 图片
* input - 输入框
* kbd - 定义键盘文本
* label - 表格标签
* q - 短引用
* s - 中划线(不推荐)
* samp - 定义范例计算机代码
* select - 项目选择
* small - 小字体文本
* span - 常用内联容器,定义文本内区块
* strike - 中划线
* strong - 粗体强调
* sub - 下标
* sup - 上标
* textarea - 多行文本输入框
* tt - 电传文本

* u - 下划线
* var - 定义变量

可变元素
可变元素为根据上下文语境决定该元素为块元素或者内联元素。
* applet - java applet
* button -
按钮
* del - 删除文本
* iframe - inline frame
* ins -
插入的文本
* map - 图片区块(map)
* object - object对象
* script - 客户端脚本

一个例子:
<body>

<p>This is a paragraph with <em>an inline element</em> within it.</p>

</body>
上例中有两个块元素,p和body,一个内联元素em。
在xhtml中em可以从p继承,反之不行。在xhtml中内联元素可以从块元素继承而来,反之不行。
在css中没有这样的规定,css可以改变上例的结构。
p {display: inline;}
em {display: block;}
在inline box中插入block box。效果:
改变元素的显示角色在xhtml中很有用。Xml文档没有任何的继承的显示角色,因此通过css来定义就相当重要。
<book>

 <maintitle>Cascading Style Sheets: The Definitive Guide</maintitle>

 <subtitle>Second Edition</subtitle>

 <author>Eric A. Meyer</author>

 <publisher>O'Reilly and Associates</publisher>

 <pubdate>2004</pubdate>

 <isbn>blahblahblah</isbn>

</book>

<book>

 <maintitle>CSS2 Pocket Reference</maintitle>

 <author>Eric A. Meyer</author>

 <publisher>O'Reilly and Associates</publisher>

 <pubdate>2004</pubdate>

 <isbn>blahblahblah</isbn>

</book>
默认的显示:

 
css来定义显示层次:
book, maintitle, subtitle, author, isbn {display: block;}

publisher, pubdate {display: inline;}
现在显示:


 
能够影响显示角色display roles 的特性是css在多种情况下高度有用的重要原因。
分享到:
评论

相关推荐

    路恩CSS学习助手

    路恩CSS学习助手,可快速查找css1、css2、css3全部属性和值,并配有每个属性和值的简要说明;对CSS语法规则和CSS选择器也做...可以把本软件看作是一个CSS词典和CSS教程软件,是前端CSS新手学习CSS样式的理想辅助工具。

    一个平常的html css学习.zip

    一个平常的html css学习一个平常的html css学习一个平常的html css学习 一个平常的html css学习一个平常的html css学习一个平常的html css学习 一个平常的html css学习一个平常的html css学习一个平常的html css学习...

    简易一天学习css+div

    简易一天学习css+div简易一天学习css+div简易一天学习css+div简易一天学习css+div简易一天学习css+div简易一天学习css+div简易一天学习css+div简易一天学习css+div

    div css案例学习

     对于同一个页面视觉效果,采用CSS布局的页面容量要比TABLE编码的页面文件容量小得多,前者一般只有后者的1/2大小。浏览器就不用去编译大量冗长的标签。  3:易于维护和改版  你只要简单的修改几个CSS文件就可以...

    第一次学习html和css的demo(First time to learn HTML and CSS demo).zip

    html css js 知识学习资料 代码 源码 供相关人员学习参考 html css js 知识学习资料 代码 源码 供相关人员学习参考 html css js 知识学习资料 代码 源码 供相关人员学习参考 html css js 知识学习资料 代码 源码 供...

    一个css学习打包网站

    对于学习css+div的朋友们这个网站值得研究和学习,好东西!

    工作学习第一次联系html、css.zip

    html css js 知识学习资料 代码 源码 供相关人员学习参考 html css js 知识学习资料 代码 源码 供相关人员学习参考 html css js 知识学习资料 代码 源码 供相关人员学习参考 html css js 知识学习资料 代码 源码 供...

    本人学习html+css做的一个网页.zip

    html css js 知识学习资料 代码 源码 供相关人员学习参考 html css js 知识学习资料 代码 源码 供相关人员学习参考 html css js 知识学习资料 代码 源码 供相关人员学习参考 html css js 知识学习资料 代码 源码 供...

    CSS初识初学者思维导图-css学习第一天

    css 目的、样式表分类(位置)、选择器、常见文字css属性

    Web前端学习之CSS课件

    CSS相关技术文档-例如CSS基础:类选择器。就是建立一个类,并为这个类定义一些样式,在需要应用的标签内以class=“类名”的形式套用,例如: .student{color:#00f;} “student”&gt;张三 类名的前边一定要加上一个...

    html+css的学习,并开发一个网页.zip

    html+css的学习,并开发一个网页html+css的学习,并开发一个网页 html+css的学习,并开发一个网页html+css的学习,并开发一个网页 html+css的学习,并开发一个网页html+css的学习,并开发一个网页 html+css的学习,...

    DIV+CSS学习

    能在短时间学习的文件资料 在做前端页面 或者网站布局都是一个很好的参考

    css合成学习

    css合成学习css合成学习

    div+css布局大全,学习CSS布局吗

    你正在学习CSS布局吗?是不是还不能完全掌握纯CSS布局?通常有两种情况阻碍你的学习: 第一种可能是你还没有理解CSS处理页面的原理。在你考虑你的页面整体表现效果前,你应当先考虑内容的语义和结构,然后再针对语义...

    高效学习CSS布局之道244个范例代码

    此为《高效学习CSS布局之道——通过244个范例掌握网页样式与布局技术》一书的配套光盘,读者可自由取其示例文件做学习、研究之用。  CSS控制元素的大小;  CSS控制元素的定位;  CSS控制元素的布局;  CSS...

    CSS3学习必备书籍《CSS3 实战》

    这些 CSS 新特性在现阶段可以说都是非常强大和完善的,您只需要加入几行简单的 CSS 代码便可以实现出一系列令人眼前一亮的效果,这比我们之前用 JavaScript 去模拟这样的效果要好得多,不仅降低了复杂度,变得易维护...

    CSS层叠样式表学习指南

     更神奇的是,用CSS,仅仅改变一个文件就可以改变数百个网页的外观......个性化的表现而不损失访问者......所有这些都因为网页样式表的强大和灵活特性。  让我们开始吧! CSS 速成 层叠样式表的基础入门。 ...

    [CSS样式表中文手册 css样式学习手册

    [CSS样式表中文手册 css样式学习手册 font-style : CSS1 请参阅 font-style 属性 font-variant : CSS1 请参阅 font-variant 属性 font-weight : CSS1 请参阅 font-weight 属性

Global site tag (gtag.js) - Google Analytics