目录
主要内容
CSS的单位:
字体属性
文本属性
背景属性
列表属性
盒子模型(重要)
定位属性(position,float,overflow,z-index)
1、pisition属性:
2、float属性:浮动
3、clear属性:禁止浮动
4、overflow属性:超出范围的内容要怎么处理
5、z-index属性:属性值大的位于上层,属性值小的位于下层
鼠标的属性cursor
滤镜
导航栏的制作
首页 web前端 html教程 CSS样式图文详解(二):css属性_html/css_WEB-ITnose

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

Jun 24, 2016 am 11:35 AM

主要内容

  • 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;  /*小写变大写*/}
    登录后复制

    另外还有一个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;  /*公有属性*/}
    登录后复制

    另外还有一个简写属性叫做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>
    登录后复制

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

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

    padding:20 30 40 50;
    登录后复制

    上方代码的设置边距的顺序是:上、右、下、左(顺时针方向)。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>
    登录后复制
  • 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>
    登录后复制

    效果:

    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>
    登录后复制

    效果:

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

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

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

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

    鼠标的属性cursor

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

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

    p:hover{	cursor: pointer;}
    登录后复制

    另外还有以下的属性:(不用记,需要的时候查一下就行了)
    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="/static/imghw/default1.png"  data-src="3.jpg"  class="lazy"   style="max-width:90%" alt="CSS样式图文详解(二):css属性_html/css_WEB-ITnose" >
    登录后复制

    举例代码:

     <body>	<table>		<tr>			<td>原始图片</td>			<td>图片加入黑白效果</td>		</tr>	<tr>		<td><img  src="/static/imghw/default1.png"  data-src="3.jpg"  class="lazy" alt="CSS样式图文详解(二):css属性_html/css_WEB-ITnose" ></td>		<td><img  src="/static/imghw/default1.png"  data-src="3.jpg"  class="lazy"   style="max-width:90%" alt="CSS样式图文详解(二):css属性_html/css_WEB-ITnose" ></td> /*滤镜:设置图片为灰白效果*/	</tr>	</table> </body>
    登录后复制

    效果如下:(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>
    登录后复制

    实现效果如下:

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

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

    本站声明
    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

    热AI工具

    Undresser.AI Undress

    Undresser.AI Undress

    人工智能驱动的应用程序,用于创建逼真的裸体照片

    AI Clothes Remover

    AI Clothes Remover

    用于从照片中去除衣服的在线人工智能工具。

    Undress AI Tool

    Undress AI Tool

    免费脱衣服图片

    Clothoff.io

    Clothoff.io

    AI脱衣机

    AI Hentai Generator

    AI Hentai Generator

    免费生成ai无尽的。

    热门文章

    R.E.P.O.能量晶体解释及其做什么(黄色晶体)
    2 周前 By 尊渡假赌尊渡假赌尊渡假赌
    仓库:如何复兴队友
    4 周前 By 尊渡假赌尊渡假赌尊渡假赌
    Hello Kitty Island冒险:如何获得巨型种子
    4 周前 By 尊渡假赌尊渡假赌尊渡假赌

    热工具

    记事本++7.3.1

    记事本++7.3.1

    好用且免费的代码编辑器

    SublimeText3汉化版

    SublimeText3汉化版

    中文版,非常好用

    禅工作室 13.0.1

    禅工作室 13.0.1

    功能强大的PHP集成开发环境

    Dreamweaver CS6

    Dreamweaver CS6

    视觉化网页开发工具

    SublimeText3 Mac版

    SublimeText3 Mac版

    神级代码编辑软件(SublimeText3)

    公众号网页更新缓存难题:如何避免版本更新后旧缓存影响用户体验? 公众号网页更新缓存难题:如何避免版本更新后旧缓存影响用户体验? Mar 04, 2025 pm 12:32 PM

    公众号网页更新缓存,这玩意儿,说简单也简单,说复杂也够你喝一壶的。你辛辛苦苦更新了公众号文章,结果用户打开还是老版本,这滋味,谁受得了?这篇文章,咱就来扒一扒这背后的弯弯绕绕,以及如何优雅地解决这个问题。读完之后,你就能轻松应对各种缓存难题,让你的用户始终体验到最新鲜的内容。先说点基础的。网页缓存,说白了就是浏览器或者服务器为了提高访问速度,把一些静态资源(比如图片、CSS、JS)或者页面内容存储起来。下次访问时,直接从缓存里取,不用再重新下载,速度自然快。但这玩意儿,也是个双刃剑。新版本上线,

    如何使用HTML5表单验证属性来验证用户输入? 如何使用HTML5表单验证属性来验证用户输入? Mar 17, 2025 pm 12:27 PM

    本文讨论了使用HTML5表单验证属性,例如必需的,图案,最小,最大和长度限制,以直接在浏览器中验证用户输入。

    HTML5中跨浏览器兼容性的最佳实践是什么? HTML5中跨浏览器兼容性的最佳实践是什么? Mar 17, 2025 pm 12:20 PM

    文章讨论了确保HTML5跨浏览器兼容性的最佳实践,重点是特征检测,进行性增强和测试方法。

    如何高效地在网页中为PNG图片添加描边效果? 如何高效地在网页中为PNG图片添加描边效果? Mar 04, 2025 pm 02:39 PM

    本文展示了使用CSS为网页中添加有效的PNG边框。 它认为,与JavaScript或库相比,CSS提供了出色的性能,详细介绍了如何调整边界宽度,样式和颜色以获得微妙或突出的效果

    &lt; datalist&gt;的目的是什么。 元素? &lt; datalist&gt;的目的是什么。 元素? Mar 21, 2025 pm 12:33 PM

    本文讨论了html&lt; datalist&gt;元素,通过提供自动完整建议,改善用户体验并减少错误来增强表格。Character计数:159

    &lt; meter&gt;的目的是什么。 元素? &lt; meter&gt;的目的是什么。 元素? Mar 21, 2025 pm 12:35 PM

    本文讨论了HTML&lt; meter&gt;元素,用于在一个范围内显示标量或分数值及其在Web开发中的常见应用。它区分了&lt; meter&gt;从&lt; progress&gt;和前

    我如何使用html5&lt; time&gt; 元素以语义表示日期和时间? 我如何使用html5&lt; time&gt; 元素以语义表示日期和时间? Mar 12, 2025 pm 04:05 PM

    本文解释了HTML5&lt; time&gt;语义日期/时间表示的元素。 它强调了DateTime属性对机器可读性(ISO 8601格式)的重要性,并在人类可读文本旁边,增强Accessibilit

    &gt; gt;的目的是什么 元素? &gt; gt;的目的是什么 元素? Mar 21, 2025 pm 12:34 PM

    本文讨论了HTML&lt; Progress&gt;元素,其目的,样式和与&lt; meter&gt;元素。主要重点是使用&lt; progress&gt;为了完成任务和LT;仪表&gt;对于stati

    See all articles