XML学习笔记(四)-- 修饰XML文档的CSS
标签(空格分隔): 学习笔记
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方式显示元素内容。
示例:
新建一个xml文件:
employee.xml,内容如下:张涛
男
18
开发部李雪萍
女
34
销售部傅嘉祺
女
19
人事部新建一个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的更多相关文章
- MongoDB学习笔记四—增删改文档下
$slice 如果希望数组的最大长度是固定的,那么可以将 $slice 和 $push 组合在一起使用,就可以保证数组不会超出设定好的最大长度.$slice 的值必须是负整数. 假设$slice的值为 ...
- SpringBoot学习笔记:Swagger实现文档管理
SpringBoot学习笔记:Swagger实现文档管理 Swagger Swagger是一个规范且完整的框架,用于生成.描述.调用和可视化RESTful风格的Web服务.Swagger的目标是对RE ...
- Mybatis学习笔记(四) —— SqlMapConfig.xml配置文件
一.properties(属性) SqlMapConfig.xml可以引用java属性文件中的配置信息 在config下定义db.properties文件,如下所示: db.properties配置文 ...
- JavaScript学习笔记7 之DOM文档对象模型
一.什么是DOMDocument Object Model 文档 -------对象 ----模型-------缩写DOM DOM是针对HTML和XML文档的一个API(应用程序编程接口).DOM描绘 ...
- 《DOM Scripting》学习笔记-——第八章 充实文档的内容
本章内容 一.一个为文档创建“缩略词语表”的函数 二.一个为文档创建“文献来源链接”的函数 三.一个为文档创建“快速访问键清单”的函数 利用DOM动态的收集和创建一些有用的辅助信息,并把它们呈现在网页 ...
- AngularJS1.X学习笔记14-动画(解读文档)
最近在看算法分析,那个大O啊,小o啊,分治法啊(目前就看到这里),真是搞死了.这回呢休息一下,学学AngularJS动画,上一篇文章根据自由男人的书简单谈到了动画的话题,发现反响很大(好吧,我说慌了, ...
- MongoDB学习笔记三—增删改文档上
插入insert 单条插入 > db.foo.insert({"bar":"baz"}) WriteResult({ }) 批量插入 > db.fo ...
- HTML&CSS基础学习笔记1.4-定义文档类型
Web 世界中存在许多不同的文档.只有了解文档的类型,浏览器才能正确地显示文档. HTML 也有多个不同的版本,只有完全明白页面中使用的确切 HTML 版本,浏览器才能完全正确地显示出 HTML 页面 ...
- RavenDb学习(四)处理文档相关性
RavenDb是文档型数据库,但是我们常常也需要定义对象之间的关系,那RavenDb当中是如何处理的呢? RavenDb提供了优雅的解决方式,使用正确的话,可以减少数据开销以及网络拥堵 Denorma ...
- MongoDB快速入门学习笔记3 MongoDB的文档插入操作
1.文档的数据存储格式为BSON,类似于JSON.MongoDB插入数据时会检验数据中是否有“_id”,如果没有会自动生成.shell操作有insert和save两种方法.当插入一条数据有“_id”值 ...
随机推荐
- Asp.net点击按钮弹出文件夹选择框的实现(网页)
本文地址:http://www.cnblogs.com/PiaoMiaoGongZi/p/4092112.html 在Asp.net网站实际的开发中,比如:需要实现点击一个类似于FileUpload的 ...
- BizTalk开发系列(二十一) Mapping 扩展开发
BizTalk Map编辑器提供了常用的功能块,比如数据库,字符串,数字计算等功能.可在设计Map时直接使用这些功能块进行扩展.除此之外对于进行复杂的Map处 理,Map 编辑器提供了扩展XSLT,扩 ...
- 服务器(Liunx)打包发布java web工程
Liunx服务器上打包发布web工程(开发工具Idea) 1.首先使用Idea自带的打包功能(点击package打包) 2.然后链接到服务器(我这里用的是Xshell链接工具) 3.将打好的war包传 ...
- Apache Spark技术实战之5 -- SparkR的安装及使用
欢迎转载,转载请注明出处,徽沪一郎. 概要 根据论坛上的信息,在Sparkrelease计划中,在Spark 1.3中有将SparkR纳入到发行版的可能.本文就提前展示一下如何安装及使用SparkR. ...
- Windows 10输入法已禁用IME无法输入中文怎么办
Windows 10输入法已禁用IME无法输入中文怎么办 | 浏览:10453 | 更新:2015-03-01 14:46 | 标签:windows 1 2 3 4 5 分步阅读 Windows10系 ...
- LoadRunner11.00入门教程
安装成功后,根据教程,有自带的应用程序供新手快速掌握Loadrunner的使用.测试应用是一个基于web的旅行社应用程序,也就是供用户在线预订机票的应用.根据教程和操作,重新总结一下测试流程以及遇到的 ...
- spring与redis简单整合
项目结构 整合需要的依赖 <dependencies> <dependency> <groupId>org.springframework</groupId& ...
- linux添加ip、路由相关命令
1- Linux添加永久路由vi /etc/sysconfig/network-scripts/route-eth1ADDRESS0=192.168.10.0NETMASK0=255.255.255. ...
- java求素数和求一个数的一个正整数的质因数
1.题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少对? (1)程序分析:不难发现兔子的规律是:1,1 ...
- iOS中文API之NSLayoutconstraint
AutoLayout为开发者提供了一种不同于传统对于UI元素位置指定的布局方法.以前,不论是在IB里拖放,还是在代码中写,每个UIView都会有自己的frame属性,来定义其在当前视图中的位置和尺寸. ...