小强的HTML5移动开发之路(4)——CSS2和CSS3
来自:http://blog.csdn.net/dawanganban/article/details/17653149
在上一篇中我们提到学习HTML5要具备CSS的知识,在页面设计的时候HTML5知识页面的布局与结构,要实现一个很绚丽漂亮的界面就需要借助CSS。下面我们先来回顾一下css2的基本用法,再来看看和css3的关系与区别。
1、css是什么?
cascading stylesheet(级联样式表),为网页提供表现形式。按照w3c规范,设计一个网页,应该将网页的数据与结构写在html文件里,网页的外观写在css文件里,而网页的行为写在.js文件里。这样做的目的是将网页的数据,外观,行为分离,方便代码的维护。
2、css选择器:
(1)标记选择器(简单选择器)
(2)class选择器
- .s1{
- 属性名:属性
- }
还有一种有名字的class选择器,如下:
- div.s1{
- font-size;120px;
- }
(3)id选择器
- #d1{
- font-size:italic;
- font-weight:900;
- }
(4)选择器分组
- h1,h2,h3{ //用逗号隔开
- <span style="white-space:pre"> </span>color:bllue;
- }
(5)选择器的派生
- #d2 p{
- span style="white-space:pre"> </span>color:red;
- font-size:300;
- }
CSS中的注释
- /* */
样式的优先级:
外部样式,将样式写在.css文件里
内部样式,将样式写在.html文件里
内联样式,将样式写在style=" "里面
发生冲突时:外部样式<内部样式<内联样式。
CSS中的两个关键属性:
(1)display属性
有三个值:
block 按块标记的方式显示该标记
inline 按行内标记的方式显示该标记
none 不显示
- <html>
- <!--display属性-->
- <head>
- <style>
- #d1{
- width:200px;
- height:100px;
- background-color:red;
- color:white;
- font-size:40px;
- display:inline; <!--改为行内标记-->
- }
- #d2{
- width:200px;
- height:100px;
- background-color:blue;
- color:white;
- font-size:40px;
- display:inline; <!--改为行内标记-->
- }
- </style>
- </head>
- <body>
- <div id="d1">hello1</div>
- <!--标记d2会另起一行显示-->
- <div id="d2">hello2</div>
- </body>
- </html>
(2)position属性
有三个值:
static:缺省值。浏览器会将标记按默认的方式摆放(左-右,上-下)。
absolute:相对父标记(所在的标记)偏移。
relative:先按照默认的方式摆放,然后再偏移。
常用属性如下:
- (1)文本相关的属性
- font-size:30px; //字体大小
- font-style:normal(正常)/italic(斜体)
- font-weight:800; //100-900 (粗细)
- font-family:"宋体"; //字体
- text-align:left/center/right; //文本水平对齐方式
- line-height:30px; //行高 一般和容器的高值相同放在中间
- cursor:pointer/wait; //光标的形状
- (2)背景相关的属性
- background-color:red; //背景颜色
- background-color:#88eeff; //RGB格式颜色设置
- background-color:rgb(100,100,100); //可以用这种格式输入十进制数的颜色值
- background-image:url(images/t1.jpg); //背景图片
- background-repeat:no-repeat/repeat-x/repeat-y; //平铺方式
- background-position:30px 20px; //(水平和垂直)背景位置
- background-attachment:scroll(默认)/fixed; //依附方式
- 也可以同时设置背景的多个特性:
- background:背景颜色 背景图片 平铺方式 依附方式 水平位置 垂直位置;
- (3)边框
- border-left:1px solid red;
- border-right:2px dotted black;
- border-bottom:
- border-top:
- border:1px solid red;
- (4)定位
- width:100px;
- height:200px;
- margin //外边距
- margin-left:20px;
- margin-right:30px;
- margin-top:40px;
- margin-buttom:50px;
- 可以简化为:margin:top right bottom left;
- margin:40 30 50 20;
- padding //内边距
- padding-left:
- padding-right:
- padding-top:
- padding-buttom:
- 可以简化为:padding:top right bottom left;
- 内边距会将父标记撑开
- (5)浮动
- 取消标记独占一行的特性
- float:left/right; //向左,向右浮动
- clear:both; //清除浮动的影响
- (6)其他
- list-style-type:none;除掉列表选项的小圆点。
- text-decoreation:underline; //给文本加下划线
- (7)连接的伪样式
- a:link{color:red} 没有访问时
- a:visited{color:blue} 鼠标放上时
- a:action{color:green} 鼠标点击时
- a:hover{color:yellow} 鼠标离开时
上面是我们以前学的css的基本总结,下面来看一下css3的特点,先打开css3参考手册(下载地址:http://download.csdn.net/detail/lxq_xsyu/6784027)
先看看border-color设置边框
相关属性:border-top-color,border-right-color,border-bottom-color,border-left-color
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <meta http-equiv="Content-Language" content="utf-8" />
- <meta name="robots" content="all" />
- <meta name="author" content="Tencent-ISRD" />
- <meta name="Copyright" content="Tencent" />
- <title>Border-color</title>
- <style>
- div{
- border: 8px solid #000;
- -moz-border-bottom-colors: #555 #666 #777 #888 #999 #aaa #bbb #ccc;
- -moz-border-top-colors: #555 #666 #777 #888 #999 #aaa #bbb #ccc;
- -moz-border-left-colors: #555 #666 #777 #888 #999 #aaa #bbb #ccc;
- -moz-border-right-colors: #555 #666 #777 #888 #999 #aaa #bbb #ccc;
- padding: 5px 5px 5px 15px;
- }
- </style>
- </head>
- <body>
- <div>在Firefox浏览器里能看到边框颜色渐变效果</div>
- </body>
- </html>
这个设置边框只在火狐浏览器上支持,运行效果
可以从css3.0参考书册中看到css3增加了很多样式属性,我们可以参考该手册进行比css2更加绚丽的界面效果,如果配合js还可以实现页面动画制作。
下面我们再来看看给界面元素创建圆角效果
在css2中为了实现这种效果,我们需要制作两张图片。代码如下:
- <html>
- <head>
- <style type="text/css">
- a{
- display:block;
- height:40px;
- float:left;
- font-size:1.2em;
- padding-right:0.8em;
- background:url(images/headerRight.png) no-repeat scroll top right;
- }
- a span{
- background:url(images/headerLeft.png) no-repeat;
- display:block;
- line-height:40px;
- padding-left:0.8em;
- }
- </style>
- </head>
- <body>
- <a href="#"><span>Box Title</span></a>
- </body>
- </html>
上面的方法虽然解决了问题,但是增加了一个多余的标签,下面我们来看看用css3如何解决:
- <html>
- <head>
- <style type="text/css">
- a{
- float:left;
- height:40px;
- line-height:40px;
- padding-left:0.8em;
- padding-right:0.8em;
- border-top-left-radius:8px;
- border-top-right-radius:8px;
- background-image:url(image/headerTiny.png);
- backgrount-repeat:repeat-x;
- }
- </style>
- </head>
- <body>
- <a href="#"><span>Box Title</span></a>
- </body>
- </html>
小强的HTML5移动开发之路(4)——CSS2和CSS3的更多相关文章
- 小强的HTML5移动开发之路(18)——HTML5地理定位
来自:http://blog.csdn.net/dawanganban/article/details/18192091 在前面的<小强的HTML5移动开发之路(2)--HTML5的新特性> ...
- 小强的HTML5移动开发之路(14)——Video标签详解
来自:http://blog.csdn.net/dawanganban/article/details/18180605 在前面的小强的HTML5移动开发之路(5)--制作一个漂亮的视频播放器中制作了 ...
- 小强的HTML5移动开发之路(13)——HTML5中的全局属性
来自:http://blog.csdn.net/dawanganban/article/details/18179483 一.accssskey 快捷键 <!DOCTYPE HTML> ...
- 小强的HTML5移动开发之路(11)——链接,图片,表格,框架
来自:http://blog.csdn.net/dawanganban/article/details/18098193 一.HTML是什么? HTML(hypertext mark-uplangua ...
- 小强的HTML5移动开发之路(42)——HTML4与HTML5文档结构比较
一般来说,人们在书写包括HTML在内的文档时,习惯上按照类似于"章--节--小节"这样的层次结构来进行. 在HTML4中的描述方式: <html> <head&g ...
- 小强的HTML5移动开发之路(37)——jqMobi快速入门
在<小强的HTML5移动开发之路(33)-- jqMobi基础>中我们了解了什么是jqMobi,并从官方下载了jqMobi开发包,下载后解压目录如下: 拷贝上面的/css目录./plugi ...
- 小强的HTML5移动开发之路(12)——从一个多媒体标签说起
来自:http://blog.csdn.net/dawanganban/article/details/18136813 一.视频播放 <html> <head> <ti ...
- 小强的HTML5移动开发之路(3)——HTML5与HTML4比较
来自:http://blog.csdn.net/dawanganban/article/details/17652873 在前面介绍了HTML5的新特性,新标签的使用,智能表单设计,引入多媒体对象,C ...
- 小强的HTML5移动开发之路(1)——HTML介绍
来自:http://blog.csdn.net/dawanganban/article/details/17591373 HTML是HyperText Markup Language(超文本标记语言) ...
- 小强的HTML5移动开发之路(53)——jQueryMobile页面间参数传递
在单页模版中使用基于HTTP的方式通过POST和GET请求传递参数,而在多页模版中不需要与服务器进行通信,通常在多页模版中有以下三种方法来实现页面间的参数传递. 1.GET方式:在前一个页面生成参数并 ...
随机推荐
- 利用Python进行数据分析——Numpy基础:数组和矢量计算
利用Python进行数据分析--Numpy基础:数组和矢量计算 ndarry,一个具有矢量运算和复杂广播能力快速节省空间的多维数组 对整组数据进行快速运算的标准数学函数,无需for-loop 用于读写 ...
- C++笔记十二:C++对C的扩展——struct关键字类型增强
C语言的struct定义了一组变量的集合,C编译器并不认为这是一种新的类型. C++中的struct是一个新类型的定义声明. struct Student { char name[100]; int ...
- 一起撸个简单粗暴的Tv应用主界面的网格布局控件(上)
这一篇是真的隔了好久了~~,也终于可以喘口气来好好写博客了,这段时间实在是忙不过来了,迭代太紧.好,废话不多说,进入今天的主题. 效果 图一是Tv应用:当贝市场的主页 图二是咱自己撸的简单粗暴的 Tv ...
- Rails多路径调用相同方法原路返回的方法
有时候可能有多条path到达同一个method,此时,我们希望在该方法完成后自动转到之前进入的path中去,其实实现起来非常简单,只需要实现如下两个方法: def redirect_back_or(d ...
- 初识Spark2.0之Spark SQL
内存计算平台spark在今年6月份的时候正式发布了spark2.0,相比上一版本的spark1.6版本,在内存优化,数据组织,流计算等方面都做出了较大的改变,同时更加注重基于DataFrame数据组织 ...
- iOS 应用提交到iTunes Connect,显示"正在处理"后消失不见
打包上传iTunes Connect 成功后,进入iTunes Connect 会看到如下的构建信息: 可是,过一会再刷新该页面,构建的版本就消失了. 出现如上所述的情况,主要目前已知的有两种原因: ...
- Android线性布局
线性布局 LinearLayout 是一个视图组,用于使所有子视图在单个方向(垂直或水平)保持对齐. 您可以使用 android:orientation 属性指定布局方向. LinearLayout ...
- iOS学习笔记--触摸事件
最近空闲时间在学习iOS相关知识,几周没有更新文章了,今天总结下这些天的学习内容,也整理下iOS的学习笔记,以便以后查阅翻看- iOS中的事件可以分为3大类型: 触摸事件 加速计事件 远程控制事件 响 ...
- Apache shiro集群实现 (一) shiro入门介绍
近期在ITOO项目中研究使用Apache shiro集群中要解决的两个问题,一个是Session的共享问题,一个是授权信息的cache共享问题,官网上给的例子是Ehcache的实现,在配置说明上不算很 ...
- Servlet - Listener、Filter、Decorator
Servlet 标签 : Java与Web Listener-监听器 Listener为在Java Web中进行事件驱动编程提供了一整套事件类和监听器接口.Listener监听的事件源分为Servle ...