Home > Web Front-end > HTML Tutorial > CSS样式图文详解(二):css属性_html/css_WEB-ITnose

CSS样式图文详解(二):css属性_html/css_WEB-ITnose

WBOY
Release: 2016-06-24 11:35:53
Original
1348 people have browsed it

主要内容

  • CSS的单位
  • 字体属性
  • 文本属性
  • 背景属性
  • 列表属性
  • 盒子模型
  • 定位属性:position、float、overflow、z-index等
  • 导航栏的制作
  • 鼠标的属性cursor
  • 滤镜的介绍
  • CSS的单位:

    html中的单位只有一种,那就是像素px,所以单位是可以省略的,但是在CSS中不一样。
    CSS中的单位是必须要写的,因为它没有默认单位。

  • 绝对单位:1 in=2.54cm=25.4mm=72pt=6pc。
    各种单位的含义:
    in:英寸Inches (1 英寸 = 2.54 厘米)
    cm:厘米Centimeters
    mm:毫米Millimeters
    pt:点Points,或者叫英镑 (1点 = 1/72英寸)
    pc:皮卡Picas (1 皮卡 = 12 点)

  • 相对单位:
    px:像素
    em:印刷单位相当于12个点
    %:百分比,相对周围的文字的大小

  • 为什么说像素px是一个相对单位呢,这也很好理解。比如说,电脑屏幕的的尺寸是不变的,但是我们可以让其显示不同的分辨率,在不同的分辨率下,单个像素的长度肯定是不一样的啦。

    百分比%这个相对单位要怎么用呢?这里也举个例子:

    字体属性

    css样式中,常见的字体属性有以下几种:

    p{	font-size:50px; 		/*字体大小*/	font-style:italic ;		/*斜体*/	font-weight:bold;	/*粗体:属性值写成bolder也可以*/	font-family:幼圆,黑体; 	/*字体类型:如果没有幼圆就显示黑体,没有黑体就显示默认*/	font-variant:small-caps;  /*小写变大写*/}
    Copy after login

    另外还有一个font属性,它是一个简写属性。指的是:可以将上面的多个属性写在一个声明里面,个人不太喜欢这种写法。

    文本属性

    CSS样式中,常见的文本属性有以下几种:

  • letter-spacing:0.5cm ; 单个字母之间的间距
  • word-spacing:1cm; 单词之间的间距
  • text-decoration:overline; 字体修饰:underline下划线、line-through中划线、overline上划线
  • text-transform:lowercase; 单词字体大小写。uppercase大写、lowercase小写
  • color:red; 字体颜色
  • text-align="属性值;" 在当前容器中的对齐的方式。属性值可以是:left、right、center(在当前容器的中间)、justify
  • text-transform:lowercase; 单词的字体大小写。属性值可以是:uppercase(单词大写)、lowercase(单词小写)、capitalize(每个单词的首字母大写)
  • 这里来一张表格的图片吧,一览无遗:

    背景属性

    CSS样式中,常见的背景属性有以下几种:(经常用到,要记住)

  • background-color:#ff99ff; 设置元素的背景颜色。
  • background-image:url(images/2.gif); 将图像设置为背景。
    括号里的路径,可以加引号,也可以不加引号。
  • background-repeat:no-repeat;。设置背景图片是否及如何重复。
    属性值可以是:no-repeat(不要平铺)、repeat-x(横向平铺)、repeat-y(纵向平铺)
  • background-position:center right; 设置背景图片在当前容器中的位置。
    属性值可以是:right center(将图片放到右边的中间)、center center(将图片放到正中间)。属性值可以填很多种,看后面的表格吧。
  • background-attachment:scroll; 设置背景图片是否跟着滚动条一起移动。
    属性值可以是:scroll(背景图片不动)、fixed(背景图片跟着滚动条一起移动)。
    注意属性值的含义不要搞反了,它的含义是根据滚动条来定义的。
    }
  • 另外还有一个简写属性叫做background,它的作用是:将上面的多个属性写在一个声明中。

    background-repeat这个属性在开发的时候也是经常用到的。我们通过设置不同的属性值来看一下效果吧:
    不加这个属性时:(即默认时)

    属性值为no-repeat(不要平铺)时:

    属性值为repeat-x(横向平铺)时:

    属性值为repeat-y(纵向平铺)时:

    这里来一张表格的图片吧,一览无遗:

    列表属性

    ul li{	list-style-image:url(images/2.gif) ;  /*列表项前设置为图片*/	margin-left:80px;  /*公有属性*/}
    Copy after login

    另外还有一个简写属性叫做list-style,它的作用是:将上面的多个属性写在一个声明中。

    我们来看一下list-style-image属性的效果:

    给列表前面的图片加个边距吧,不然显示不完整:

    这里来一张表格的图片吧,一览无遗:

    盒子模型(重要)

    之前我们是把标签看做是一个对象。从现在开始,我们要把标签理解成一个盒子。

    标准盒子模型:

    IE盒子模型:

    上图显示:

  • 在 CSS 盒子模型 (Box Model) 规定了元素处理元素的几种方式: 内容、内边距、边框、外边距
  • 在 CSS的标准盒子模型中,width 和 height 指的是内容区域的宽度和高度。增加内边距、边框和外边距不会影响内容区域的尺寸,但是会增加元素框的总尺寸。IE盒子模型中,width 和 height 指的是内容区域+border+padding的宽度和高度。
    注:Android中也有margin和padding的概念,意思是差不多的,如果你会一点Android,应该比较好理解吧。区别在于,Android中没有bording这个东西,而且在Android中,margin并不是控件的一部分,我觉得这样做更合理一些,呵呵。

  • 例如,上图所示:假设框的每个边上有10个像素的外边距和5个像素的内边距。如果希望这个元素框达到100个像素,就需要将内容的宽度设置为70像素。

    标签有必要强调一下。很多人以为标签占据的是整个页面的全部区域,其实是错误的,正确的理解是这样的:整个网页最大的盒子是,即浏览器。而是的儿子。浏览器给默认的margin大小是8个像素,此时占据了整个页面的一大部分区域,而不是全部区域。来看一段代码。

    <!doctype html><html lang="en"> <head>  <meta charset="UTF-8">  <meta name="Generator" content="EditPlus&reg;">  <meta name="Author" content="">  <meta name="Keywords" content="">  <meta name="Description" content="">  <title>Document</title>	<style type="text/css">		div{			width: 100px;			height: 100px;			border: 1px solid red;			padding: 20px;			margin: 30px;		}	</style> </head>  <body>	<div>有生之年</div>	<div>狭路相逢</div> </body></html>
    Copy after login

    上面的代码中,我们对div标签设置了边距等信息。打开google浏览器,按住F12,显示效果如下:

    补充一下,如果我在css样式中这样写:

    padding:20 30 40 50;
    Copy after login

    上方代码的设置边距的顺序是:上、右、下、左(顺时针方向)。margin的道理是一样的。

    定位属性(position,float,overflow,z-index)

    在讲之前,有个概念叫顺序流,需要强调一下。

    顺序流:所有的标签的初始排列顺序就称为顺序流。

    有两种情况会脱离本身的顺序流:

  • 1、控件的位置设置为绝对定位。
  • 2、设置控件的float属性。
  • 1、pisition属性:

    定位属性position的属性值可以是absolute、relative。

    position定位分为绝对定位和相对定位:

  • position:absolute; 绝对定位:定义横纵坐标,原点在父容器的左上角。脱离了本身的顺序流。横坐标用left表示,纵坐标用top表示。
  • 绝对定位的举例:

    	<style type="text/css">		div{				position: absolute;/*绝对定位*/					left: 10px;/*横坐标*/					top: 20px;/*纵坐标*/		}	</style>
    Copy after login
  • position:relative; 相对定位:相对于自己原来的位置。
  • 相对定位的举例:

    <!doctype html><html lang="en"> <head>  <meta charset="UTF-8">  <meta name="Generator" content="EditPlus&reg;">  <meta name="Author" content="">  <meta name="Keywords" content="">  <meta name="Description" content="">  <title>Document</title>	<style type="text/css">		body{			margin: 0px;		}		#div1{			width: 200px;			height: 200px;			border: 1px solid red;		}		#div2{			position: relative;/*相对定位:相对于自己原来的位置*/				left: 50px;/*横坐标:正值表示向右偏移,负值表示向左偏移*/				top: 50px;/*纵坐标:正值表示向下偏移,负值表示向上偏移*/			width: 200px;			height: 200px;			border: 1px solid red;			}	</style> </head> <body>	<div id="div1">有生之年</div>	<div id="div2">狭路相逢</div> </body></html>
    Copy after login

    效果:

    2、float属性:浮动

    float属性会让元素脱离原来的顺序流,它的属性值可以是:

  • none:默认值,对象不漂浮
  • left:文本流向对象的右边
  • right:文本流向对象的左边
  • 举例:

    我们知道,在默认情况下,两个div标签是上下进行排列的。现在由于float属性让上图中的两个

    标签出现了浮动,于是这里两个标签在另外一个层面上水平排列了。而

    标签还在自己的层面上遵从顺序流进行排列。

    3、clear属性:禁止浮动

    clear属性的属性值可以是:

  • none:默认值,允许两边都可以有浮动对象
  • left:不允许左边有浮动对象
  • right:不允许右边有浮动对象
  • both:不允许有浮动对象
  • 4、overflow属性:超出范围的内容要怎么处理

    overflow属性的属性值可以是:

  • auto:浏览器自己解决。在必需时裁切对象多余的内容或显示滚动条。一般采用这个属性值。
  • visible:默认值。多余的内容不剪切也不添加滚动条,会全部显示出来。
  • hidden:不显示超过对象尺寸的内容。
    对象将以包含对象的 window 或 frame 的尺寸进行裁切,并且 clip 属性设置将失效。
  • scroll:总是显示滚动条。
  • 针对上面的不同的属性值,我们来看一下效果:
    举例:

    <!doctype html><html lang="en"> <head>  <meta charset="UTF-8">  <meta name="Generator" content="EditPlus&reg;">  <meta name="Author" content="">  <meta name="Keywords" content="">  <meta name="Description" content="">  <title>Document</title>	<style type="text/css">		div{			width: 100px;			height: 100px;			background-color: #00cc66;			margin-right: 100px;			float: left;		}		#div1{			overflow:auto;/*超出的部分让浏览器自行解决*/		}		#div2{			overflow:visible;/*超出的部分会显示出来*/		}		#div3{			overflow:hidden;/*超出的部分将剪切掉*/		}	</style> </head> <body>	<div id="div1">其实很简单 其实很自然 两个人的爱由两人分担 其实并不难 是你太悲观 隔着一道墙不跟谁分享 不想让你为难 你不再需要给我个答案</div>	<div id="div2">其实很简单 其实很自然 两个人的爱由两人分担 其实并不难 是你太悲观 隔着一道墙不跟谁分享 不想让你为难 你不再需要给我个答案</div>	<div id="div3">其实很简单 其实很自然 两个人的爱由两人分担 其实并不难 是你太悲观 隔着一道墙不跟谁分享 不想让你为难 你不再需要给我个答案</div> </body></html>
    Copy after login

    效果:

    5、z-index属性:属性值大的位于上层,属性值小的位于下层

    这句话可能比较难理解。我们来看例子吧。

    这是默认情况下的例子:(div2在上层,div1在下层)

    现在加一个z-index属性,要求效果如下:

    鼠标的属性cursor

    鼠标的属性cursor有以下几个属性值:

  • auto:默认值。浏览器根据当前情况自动确定鼠标光标类型。
  • pointer:IE6.0,竖起一只手指的手形光标。就像通常用户将光标移到超链接上时那样。
  • hand:和pointer的作用一样:竖起一只手指的手形光标。就像通常用户将光标移到超链接上时那样。
  • 比如说,我想让鼠标放在那个标签上时,光标显示手状,代码如下:

    p:hover{	cursor: pointer;}
    Copy after login

    另外还有以下的属性:(不用记,需要的时候查一下就行了)
    all-scroll :  IE6.0 有上下左右四个箭头,中间有一个圆点的光标。用于标示页面可以向上下左右任何方向滚动。
    col-resize :  IE6.0 有左右两个箭头,中间由竖线分隔开的光标。用于标示项目或标题栏可以被水平改变尺寸。
    crosshair :  简单的十字线光标。
    default :  客户端平台的默认光标。通常是一个箭头。
    hand :  竖起一只手指的手形光标。就像通常用户将光标移到超链接上时那样。
    move :  十字箭头光标。用于标示对象可被移动。
    help :  带有问号标记的箭头。用于标示有帮助信息存在。
    no-drop :  IE6.0 带有一个被斜线贯穿的圆圈的手形光标。用于标示被拖起的对象不允许在光标的当前位置被放下。
    not-allowed :  IE6.0 禁止标记(一个被斜线贯穿的圆圈)光标。用于标示请求的操作不允许被执行。
    progress :  IE6.0 带有沙漏标记的箭头光标。用于标示一个进程正在后台运行。
    row-resize :  IE6.0 有上下两个箭头,中间由横线分隔开的光标。用于标示项目或标题栏可以被垂直改变尺寸。
    text :  用于标示可编辑的水平文本的光标。通常是大写字母 I 的形状。
    vertical-text :  IE6.0 用于标示可编辑的垂直文本的光标。通常是大写字母 I 旋转90度的形状。
    wait :  用于标示程序忙用户需要等待的光标。通常是沙漏或手表的形状。
    *-resize :  用于标示对象可被改变尺寸方向的箭头光标。
    w-resize | s-resize | n-resize | e-resize | ne-resize | sw-resize | se-resize | nw-resize
    url ( url ) :  IE6.0 用户自定义光标。使用绝对或相对 url 地址指定光标文件(后缀为 .cur 或者 .ani )。

    滤镜

    这里只举一个滤镜的例子吧。比如说让图片变成灰度图的效果,可以这样设置滤镜:

    	<img  src="3.jpg"   style="max-width:90%" alt="CSS样式图文详解(二):css属性_html/css_WEB-ITnose" >
    Copy after login

    举例代码:

     <body>	<table>		<tr>			<td>原始图片</td>			<td>图片加入黑白效果</td>		</tr>	<tr>		<td><img  src="3.jpg" alt="CSS样式图文详解(二):css属性_html/css_WEB-ITnose" ></td>		<td><img  src="3.jpg"   style="max-width:90%" alt="CSS样式图文详解(二):css属性_html/css_WEB-ITnose" ></td> /*滤镜:设置图片为灰白效果*/	</tr>	</table> </body>
    Copy after login

    效果如下:(IE有效果,google浏览器无效果)

    延伸:
    滤镜本身是平面设计中的知识。如果你懂一点PS的话···打开PS看看吧:

    爆料一下,表示博主有两年多的平面设计经验,我做设计的时间其实比写代码的时间要长,嘿嘿···

    导航栏的制作

    现在,我们利用float浮动属性来把无序列表做成一个简单的导航栏吧,效果如下:

    代码:

    <!doctype html><html lang="en"> <head>  <meta charset="UTF-8">  <meta name="Generator" content="EditPlus&reg;">  <meta name="Author" content="">  <meta name="Keywords" content="">  <meta name="Description" content="">  <title>Document</title>  	<style type="text/css">		ul{			list-style: none;/*去掉列表前面的圆点*/			width: 420px;			height: 60px;			background-color: black;/*设置整个导航栏的背景为灰色*/		}		li{			float: left;/*平铺*/			margin-right: 30px;			margin-top: 16px;		}		a{			text-decoration: none;/*去掉超链的下划线*/			font-size: 20px;			color: #BBBBBB;/*设置超链的字体为黑色*/			font-family:微软雅黑;		}	</style> </head> <body>	<ul>		<li><a href="">博客园</a></li>		<li><a href="">新随笔</a></li>		<li><a href="">联系</a></li>		<li><a href="">订阅</a></li>		<li><a href="">管理</a></li>	</ul> </body></html>
    Copy after login

    实现效果如下:

    国庆这四天,连续写了四天的博客,白天和黑夜,从未停歇,只交替没交换,为的就是这每日一发。以后会不断更新的。那么关于前端基础的讲解暂时要告一段落了,因为博主还要去学习别的东西喽。

    大过节的,小白们如果觉得系列文章有帮助,点开支付宝发个一块两块的红包也无妨,呼呼哈哈:

    source:php.cn
    Statement of this Website
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
    Popular Tutorials
    More>
    Latest Downloads
    More>
    Web Effects
    Website Source Code
    Website Materials
    Front End Template