CSS简单理解与应用

一、CSS基本概念:
CSS——级联样式表(Cascading Style Sheet)简称“CSS”,通常又称为“风格样式表(Style Sheet)”,它是用来进行网页风格设计的。

CSS能够对 HMTL 中的对象的位置排版进行像素级的精确控制,支持几乎所有的字体字号样式,拥有对网页对象盒模型的能力;能够统一地控制HMTL中各标志的显示属性; 能够使人更能有效地控制网页外观以及创建特殊效果的能力,是真正做到网页表现与内容分离的一种样式设计语言。

二、CSS结构与语法

说道CSS将网页表现与内容分离,不得不谈到CSS的语法和结构。

CSS属性和选择器

css的语法结构仅仅有三部分组成:选择器(Selector)、属性(property)、和值(value)。
使用方法:

selector {Property:value;}

选择器(Selector)指这组样式编码所要针对的对象。可以是一个XHTML标签,如body,h1;也可以是定义了特定的ID或CLASS的标签,如#main选择器表示选择<div id="main">,即一个被指定了main为id的对象。浏览器将对css选择器进行严格的解析,每一组样式均会被浏览器应用到对应的对象上。

属性(Property)是CSS样式控制的核心,对于每一个XHTML中的标签,CSS都提供了丰富的样式属性,如颜色、大小、定位、浮动方式等。

值(value)是指属性的值,形式有两种,一种是指定范围的值,如float属性,只可能应用left,right,none三种值;另一种则是用数值的,如width能够使用0-9999,或其它数学单位来指定。

在实际应用中,我们往往使用以下类似的应用形式:

body {background-color:blue;}

选择器有3类:ID选择器,类选择器和HTML标签选择器。其中优先级为:ID选择器 > 类选择器 > HTML标签选择器。

ID选择器

ID是网页中用来标识HTML中一个特定元素的,ID选择器在CSS中用#号来定义。

例:

HTML中:

<span id="special">栏目二</span>

CSS中:

#special
{
    font-size:14px;
}

CLASS选择器(类选择器)

class则是网页中用来标识一组特定元素的,类选择器在CSS中用.号来定义。

例:

HTML中:

<span class="menu3">栏目三</span>

CSS中:

.menu3 span
{
    color:#00f;
    font-size:40px;
}

标签选择器 (类型选择器)

类型选择器,是指以网页中已有的标签类型作为名称的选择器。body是网页中的一个标签类型,div也是,span也是。因此以下选择器都是类型选择器,而它们将控制页面中所有的body或div或span:

body{}
div{}
span{}

当然,CSS也提供了便捷的语法:

①.除了对单个XHTML元素进行样式指定,同样可以对一组对象进行相同的样式指派,使用逗号对选择器进行分隔。

h1,h2,h3,p,span{font-size:12px; font-family:arial;}

使得页面中所有的h1,h2,h3,p,span都将具有相同的样式定义。这样做的好处是对于页面中需要使用同样式的地方只需要书写一次样式表即可实现,减少代码量,改善css代码的结构。

②.可以对某一个对象的子对象进行样式设定, 对象之间使用空格作为个分隔符。 

例:
HTML中:             

<h1>这是我们的一段文本
    <span>这是span内的文本</span>
</h1>
<h1>单独的h1</h1>
<span>单独的span</span>
<h2>被h2标签套用的文本
    <span>这是h2下的span</span>
</h2> 

CSS中: 

h1 span{font-weight:bold;}

h1标签之下的span标签将被应用font-weight:bold的样式设置。注意,仅仅对有此结构的标签有效,对于单独存在的h1或单独存在的span及其他非h1标签下属的span均不会应用此样式。这样做能够帮助我们避免过多的ID及CLASS的设置,直接对所需设置的过犹不及进行设置。

还有:

h1 .p1 {}     /*表示h1标签下的所有class为p1的标签。*/
#content h1{} /*表示id为content的标签下的所有h1标签。*/

当然多级也是支持的,如以下选择器样式同样能够作用:

body h1 span stront{ font-weight=bold;}

css还提供了一些特殊标签的表示方法:

①.用*号来泛指所有的元素

*
{
	margin:0PX;
	padding:0Px;
	border:0px;
}

②.body中设置全文的样式

body
{
	font-size:14px;
}

③.a:link,a:hover,a:visited 可以设置 鼠标未移上、经过、访问过后的超链接样式

a:link,a:visited
{
/*鼠标未移上去的超链接的样式*/
/*访问过后的超链接的样式*/
color:#000;
text-decoration:none;
}
a:hover
{
/*鼠标移上去的超链接的样式*/
color:#00f;
text-decoration:underline;
}

④.居中对齐方式:

text-align :center; /*文本水平对齐*/
line-height:2px;	/*(数值与行高相同,则自动垂直对齐)*/
vertical-align:middle;  /*元素垂直对齐*/

 

三、使用CSS布局的优点

使用CSS布局的网页相对于传统的Table布局的网页有4大优势:

1.表示与内容分离

2.提高页面的载入速度

3.易于维护和改版

4.更符合W3C指定的WEB标准

 

四、CSS使用方式:

CSS有3种方式可以在站点网页上使用:

    ①内联样式:采用style属性将样式内嵌到各个网页元素。

    ②内部样式表:将用style元素创建嵌入的样式表插入到网页中的HEAD元素部分中。

    ③外部样式表:用link元素将外部样式表链接到网页上。

举例说明:

【内联样式】

<html>
<head>
  <title>文档标题</title>          
</head>
<body>
  <p style="color:Blue;font-Style:Italic;">我是内联样式</p>
  <p style="color:Red">我使用的是Style属性</p>
</body>
</html>

 

【内部样式表】

<html>
<head>
    <title>文档标题</title>
    <style type="text/css">           
	h1  {color:marron;}
	p   {color:hotpink; font-familiy:Arial;}
    </style>
</head>
<body>
	<h1>我是内部样式表</h1>
	<p>我使用的是Style元素</p>
</body>
</html> 

【外部样式表】

“Test.htm”文件内容:

<html>
<head>
   <title>文档标题</title>
   <link href="cssTest.css" rel="stylesheet",type="text/css"/>
</head>
<body>
<h1>我是外部样式表</h1>
<p>我使用的是Link元素</p>
</body>
</html> 

“cssTest.css”文件内容:

 h1  {color:marron;}
 p   {color:hotpink; font-familiy:Arial;}
时间: 2024-09-11 12:50:57

CSS简单理解与应用的相关文章

网站开发之DIV+CSS简单布局网站入门篇(五)

        这篇文章主要介绍如何使用DIV和CSS简单布局一个网站的首页,通常将网站划分为顶部(Logo.导航条).中部(页面主要内容.左右栏目).底部(制作方介绍.超链接).这是非常基础的一篇引入性文章,采用案例的方式进行介绍的,希望对你有所帮助.运行结果如下图所示: main.html主页面代码         主要通过div进行布局的,同时<h2><a></a></h2>用户设置导航条,鼠标悬停时背景颜色切换. <html> <h

委托/事件/线程传参简单理解

写了很多代码,但几乎都没写过委托/事件/线程传参方面应用的代码 因此自己总很容易理解后又遗忘 今天又重温了一下 因此以最简单的方式的代码方式写下来帮助理解 1.线程传参[简单几行代码]    1 static void Main(string[] args) 2         { 3             if (ThreadPool.QueueUserWorkItem(new WaitCallback(Program.WritePara), "这是传进去的参数")) 4     

Javascript闭包简单理解

原文:Javascript闭包简单理解 提到闭包,想必大家都早有耳闻,下面说下我的简单理解.说实话平时工作中实际手动写闭包的场景并不多,但是项目中用到的第三方框架和组件或多或少用到了闭包.所以,了解闭包是非常必要的.呵呵... 一.什么是闭包简而言之,就是能够读取其他函数内部变量的函数.由于JS变量作用域的特性,外部不能访问内部变量,内部可以外部变量. 二.使用场景1. 实现私有成员.2. 保护命名空间,避免污染全局变量.3. 缓存变量. 先看一个封装的例子: var person = func

JS+CSS简单树形菜单实现方法_javascript技巧

本文实例讲述了JS+CSS简单树形菜单实现方法.分享给大家供大家参考.具体如下: 这是一款不错的CSS树形菜单,树状列表,当然不全是CSS实现,部分功能还使用了JavaScript代码进行配合,删减了修饰用的菜单图片,大家用的时候自己图片加进去,IMG标签大部分都预留了出来,稍懂Html语法的朋友很容易就看懂的. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-css-simple-tree-menu-style-codes/ 具体代码如下

简单理解Java的抽象类_java

在自上而下的继承层次结构中,位于上层的类更具有通用性,甚至可能更加抽象.从某种角度看,祖先类更加通用,它只包含一些最基本的成员,人们只将它作为派生其他类的基类,而不会用来创建对象.甚至,你可以只给出方法的定义而不实现,由子类根据具体需求来具体实现. 这种只给出方法定义而不具体实现的方法被称为抽象方法,抽象方法是没有方法体的,在代码的表达上就是没有"{}".包含一个或多个抽象方法的类也必须被声明为抽象类. 使用 abstract 修饰符来表示抽象方法和抽象类. 抽象类除了包含抽象方法外,

Android View事件分发和消费源码简单理解

Android View事件分发和消费源码简单理解 前言: 开发过程中觉得View事件这块是特别烧脑的,看了好久,才自认为看明白.中间上网查了下singwhatiwanna粉丝的读书笔记,有种茅塞顿开的感觉. 很重要的学习方法:化繁为简,只抓重点. 源码一坨,不要指望每一行代码都看懂.首先是没必要,其次大量非关键代码会让你模糊真正重要的部分. 以下也只是学姐的学习成果,各位同学要想理解深刻,还需要自己亲自去看源码. 2.源码分析 由于源码实在太长,而且也不容易看懂,学姐这里就不贴出来了,因为没必

初学DIV+CSS应该理解HTML标签的语义

css|初学 如今Web标准都被通俗的叫做"div+css"或者"层布局".我不反对这种便宜行事的叫法.但是这样会陷入一个误区:即大量的使用div标签作为结构元素.事实上这是一种更高级的div滥用(Jeffrey Zeldman在<网站重构>一书中提到). HTML为我们提供了相当丰富的标签,每个标签都有它各自的含义.我认为在设计时,除了遵循HTML语法以外,应该充分利用并遵守各标签的"语义".如标题文字应该包含在h1-h6中,大段的

简单理解js的冒泡排序_javascript技巧

关于排序,其实不管是哪种语言,都有它内置的排序函数,我们要用的时候调用就行了,既然如此,我们为什么还要讲这个东西呢?我想,其实,我们讲排序更多是在于排序中包含的思想算法,因为,算法对于计算机来说相当重要,一个好的算法能够让计算机的效率达到事半功倍的效果,所以,算法是计算机语言中一门相当热门的课程,它所代表的计算机思维也是很值得我们去深入研究的. 我也知道,关于我标题中的排序,博客园中的很多作者都写过详细解释的文章,可能,笔者本人认为自己的理解更能体现出这个排序的工作原理吧,所以,笔者也就大惭不愧

简单理解DB2中编目的概念

在DB2数据库中,编目(catalog)这个单词很难理解,我自己当初在学习DB2的时候也常常被这个编目搞 的很不明白,直到现在我个人也感觉到DB2中编目(catalog)这个术语用的不是很好,具体来说编目有编 目节点,编目数据库等. 如果要理解编目,我先简单讲一下DB2数据库的体系结构,在DB2数据库中最大的概念是系统(节点) 也就是主机,下面是实例,实例下面是数据库,然后是表空间,然后是数据库对象.现在假设你有一个数 据库服务器在p570的机器上,你有一个客户端在windows,linux或任