标签(空格分隔): 学习笔记


XML为存储结构化数据提供了强大的方法,但是它没有提供关于数据如何显示地信息,(数据的结构与数据表示无关)。可以使用CSS来控制XML文档中各元素的呈现方式。

CSS语法

又三部分构成:选择器(selector)、属性(property)、属性值(value),基本语法个数如下:

selector {
property1: value;
property2: value;
property3: value;
}

虽然在CSS中是不区分大小写的,但是在XML中区分,如Name,NAME,name都会被CSS视为同一个元素,这样就无法为这些元素分别设置不同的属性。因此应该设置完全不一样的名称来进行区分。

CSS选择器

类选择器

定义一:与元素不相关的类选择器的定义

.Class {
property1: value;
property2: value;
...
}

定义二:与元素相关的类选择器的定义

Tag.Class {
property1: value;
property2: value;
...
}

ID选择器

在HTML或XML文档中,往往需要唯一地标识一个元素,赋予它一个ID标识,以便在对整个文档进行处理时能够就快的找到这个元素。

定义一:与元素不相关的标识选择器的定义方法

#ID {
property1: value;
property2: value;
...
}

定义二:与元素相关的标识选择器的定义方法

Tag#ID {
property1: value;
property2: value;
...
}

CSS属性

显示属性

在CSS中,通常使用display属性来控制浏览器元素的文字显示效果。

display属性值 说明
block 将元素以块方式显示,通过换行与其他元素分开显示
inline 在同一行显示元素
none 隐藏元素,使元素在页面中不可见
list-item 以列表方式显示元素

CSS规定display属性是不能别子元素继承的,所以如果将父元素的display属性设定为block,不等于其为子元素设定了该属性。但也有两种特殊情况:

  • 如果将父元素的display属性设定为none,则子元素实际上继承了none的属性设定,因为当父元素被隐藏起来时,所有的子元素将同时被隐藏;
  • 父元素的inline属性值也会被子元素继承,因为IE浏览器默认以inline方式显示元素内容。

示例:

  1. 新建一个xml文件:employee.xml,内容如下:

    张涛

    18
    开发部

    李雪萍

    34
    销售部

    傅嘉祺

    19
    人事部

  2. 新建一个css文档:employee.css, 内容如下:

    Employee {

    display: block;

    margin-top: 16pt;

    }

    name {

    font-weight: bold;

    }

    Employee#1 {

    font-size: 25pt;

    font-style: italic;

    }

    Employee#2 {

    font-size: 20pt;

    font-style: bold;

    }

    department {

    display: none;

    }

字体(font)属性的设置

font的子属性 说明 取值
font-family 设置文字的字体 宋体,黑体,楷体_gb2312
font-style 设置文字的字形 normal, italic, oblique
font-weight 设置文字的粗细 normal, bold, bolder, lighter
font-variant 设置文字字母的大小写 normal, small-caps
font-size 设置文字的大小 small, medium, large / pt, cm, in...

边框属性的设置

  • border-style: 设置边框四周的样式;
  • none, dotted, dashed(边框线为虚线), solid, double, groove(设置边框有3D效果), inset(设置边框线具有沉入的效果), outset(设置边框线有浮出的效果)。
  • border-color:
  • 取值为颜色的英文名或RGB值,默认时边框和元素的颜色相同;
  • border-width:
  • thin, medium, thick

布局属性的设置

  • 定位属性:通过CSS的定位属性可以设置元素的位置、宽度和高度;
  • top, bottom, left, width, height, right;
  • margin属性:默认情况下,CSS中元素的页边距为0;
  • margin(同时设置元素上下左右边界的距离), margin_top, margin_bottom, margin_left, margin_right;
  • padding属性:在边框属性设置完成后,元素与边框的距离可能会出现过于接近的情况,通过设置padding属性使得边框与元素之间的距离不会太靠近;
  • padding, padding_top, padding_bottom, padding_left, padding_right;

背景属性的设置

background的子属性 说明 取值
backgroung-color 设置元素的背景颜色 颜色的英文名或RGB值
background-image 设置元素的背景图像 none, URL, 文件名(与CSS处于同一个目录下)
background-repeat 设置元素背景图像的重复样式 repeat, repeat-x(水平方向重复平铺), no-repeat
background-attachment 设置元素背景图像是否与元素内容一起滚动 scroll, fixed
background-position 设置元素背景图像相对于文字的位置 background-position-horizontal, background-position-vertical(top, center, bottom, left, right)

文本属性的设置

CSS中,元素文字的间距、行高、实现字母的大小写转换以及为文字添加各种修饰等。

设置文本的属性 说明 取值
letter-spacing 设置元素的字符间距
vertical-align 设置元素文本的垂直对齐方式 baseline, sub(文字以下标显示), super, top, middle, bottom
text-align 设置元素文本的水平对齐方式 left, center, right, justify(两端对齐)
text-transform 设置元素文本的大小写转换方式 capitalize(第一个字母大写), uppercase, lowercase, none
text-decoration 设置元素文本的修饰方式 underline, overline, line-through, blink(文字闪烁), none

CSS链接

如果不把创建好的CSS链接到XML文件中,则文档中的元素是无法按照样式表的规则在浏览器中显示的。

一般链接

<?xml:stylesheet type="text/css" href="***.css"?>

可以在一个XML文档中使用多条xml:stylesheet语句,达到将多个样式表文件链接的目的。

@import指令

@import url(stylesheetURL);

无需链接的内部CSS

<?xml-stylesheet type="text/css"?>
<根元素 xmlns:HTML="URL">
<HTML:STYLE>
<!--CSS内容-->
</HTML:STYLE>
<!--XML子元素-->
</根元素>

示例:

<?xml version="1.0" encoding="GB2312"?>
<?xml-stylesheet type="text/css"?>
<Employees xmlns:HTML="http://www.w3.org/Profiles/XHTML-transitional">
<HTML:STYLE>
name{
font-weight:bold
}
sex{
font-size:20px
}
age{
font-style:italic
}
</HTML:STYLE>
<Employee>
<name>展涛</name>
<sex>男</sex>
<age>23</age>
<department>开发部</department>
</Employee>
</Employees>

XML学习笔记(四)-- 修饰XML文档的CSS的更多相关文章

  1. MongoDB学习笔记四—增删改文档下

    $slice 如果希望数组的最大长度是固定的,那么可以将 $slice 和 $push 组合在一起使用,就可以保证数组不会超出设定好的最大长度.$slice 的值必须是负整数. 假设$slice的值为 ...

  2. SpringBoot学习笔记:Swagger实现文档管理

    SpringBoot学习笔记:Swagger实现文档管理 Swagger Swagger是一个规范且完整的框架,用于生成.描述.调用和可视化RESTful风格的Web服务.Swagger的目标是对RE ...

  3. Mybatis学习笔记(四) —— SqlMapConfig.xml配置文件

    一.properties(属性) SqlMapConfig.xml可以引用java属性文件中的配置信息 在config下定义db.properties文件,如下所示: db.properties配置文 ...

  4. JavaScript学习笔记7 之DOM文档对象模型

    一.什么是DOMDocument Object Model 文档 -------对象 ----模型-------缩写DOM DOM是针对HTML和XML文档的一个API(应用程序编程接口).DOM描绘 ...

  5. 《DOM Scripting》学习笔记-——第八章 充实文档的内容

    本章内容 一.一个为文档创建“缩略词语表”的函数 二.一个为文档创建“文献来源链接”的函数 三.一个为文档创建“快速访问键清单”的函数 利用DOM动态的收集和创建一些有用的辅助信息,并把它们呈现在网页 ...

  6. AngularJS1.X学习笔记14-动画(解读文档)

    最近在看算法分析,那个大O啊,小o啊,分治法啊(目前就看到这里),真是搞死了.这回呢休息一下,学学AngularJS动画,上一篇文章根据自由男人的书简单谈到了动画的话题,发现反响很大(好吧,我说慌了, ...

  7. MongoDB学习笔记三—增删改文档上

    插入insert 单条插入 > db.foo.insert({"bar":"baz"}) WriteResult({ }) 批量插入 > db.fo ...

  8. HTML&CSS基础学习笔记1.4-定义文档类型

    Web 世界中存在许多不同的文档.只有了解文档的类型,浏览器才能正确地显示文档. HTML 也有多个不同的版本,只有完全明白页面中使用的确切 HTML 版本,浏览器才能完全正确地显示出 HTML 页面 ...

  9. RavenDb学习(四)处理文档相关性

    RavenDb是文档型数据库,但是我们常常也需要定义对象之间的关系,那RavenDb当中是如何处理的呢? RavenDb提供了优雅的解决方式,使用正确的话,可以减少数据开销以及网络拥堵 Denorma ...

  10. MongoDB快速入门学习笔记3 MongoDB的文档插入操作

    1.文档的数据存储格式为BSON,类似于JSON.MongoDB插入数据时会检验数据中是否有“_id”,如果没有会自动生成.shell操作有insert和save两种方法.当插入一条数据有“_id”值 ...

随机推荐

  1. JavaAnnotation和反射简化开发

    Part I 我并不是在卖弄自己的英语有多少的了不起,只不过对Annotation这一次的解释真的很懊恼,“注解”和“注释”这两个对Annotation的翻译我听着不爽,所以全文都用Annotatio ...

  2. IOS第一天多线程-04GCD通信

    **** #define HMGlobalQueue dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0) #define HMM ...

  3. Codeforces Round #376 (Div. 2) C D F

    在十五楼做的cf..一会一断...比赛的时候做出了ABCF 就没有时间了 之后没看题解写出了D..E是个神奇的博弈(递推或者dp?)看了题解也没有理解..先写了CDF.. C 有n个袜子 每个袜子都有 ...

  4. Session 知识点再整理(二) 自定义 Session 存储机制

    对于访问量大的网站,用默认的 Session 存储方式(以文件存储)不适合,因为文件的 I/O 开销会非常大,另外 Session 机制本身使 Session 不能跨机访问,在 Web 集群中无法达到 ...

  5. php执行root命令

    一.确定php的sysem等函数可用 二.编写c程序,如ipt.c #include <stdio.h>#include <stdlib.h>#include <sys/ ...

  6. http://blog.csdn.net/ClementAD/article/category/6217187/2

    http://blog.csdn.net/ClementAD/article/category/6217187/2

  7. Progressive Scanning (逐行扫描) vs Interlaced Scanning (隔行扫描)

    source: http://sh.sina.com.cn/20041207/231443445.shtml 逐行扫描每一帧图像均是由电子束顺序地一行接着一行连续扫描而成.要得到稳定的逐行扫描图像,每 ...

  8. dubbo源码分析3-service bean的创建与发布

    dubbo源码分析1-reference bean创建 dubbo源码分析2-reference bean发起服务方法调用 dubbo源码分析3-service bean的创建与发布 dubbo源码分 ...

  9. oracle生成主键

    SELECT 'ZTO'||TO_CHAR(SYSDATE,'yymmdd')||TO_CHAR(SEQ_COMMON_ORDER.NEXTVAL,'FM00000000') AS orderCode ...

  10. Web3D编程总结——3D碰撞检测初探

    自己动手写一个方法比分析他人的写的方法困难很多,由此而来的对程序的进一步理解也是分析别人的代码很难得到的. 一.先来几张效果图: 1.场景中有两个半径为1的球体,蓝色线段从球心出发指向球体的“正向” ...