zoukankan      html  css  js  c++  java
  • CSS--百度百科

    层叠样式表是一种用来表现HTML标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
    CSS目前最新版本为CSS3,是能够真正做到网页表现与内容分离的一种样式设计语言。相对于传统HTML的表现而言,CSS能够对网页中的对象的位置排版进行像素级的精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力,并能够进行初步交互设计,是目前基于文本展示最优秀的表现设计语言。CSS能够根据不同使用者的理解能力,简化或者优化写法,针对各类人群,有较强的易读性。
    中文名
    层叠样式表
    外文名
    Cascading Style Sheets
    外语缩写
    CSS(也作文件扩展名
    其他称呼
    级联样式表

    实例

    编辑
    如果你要在HTML元素中设置CSS样式,你需要在元素中设置"id" 和 "class"选择器。[1] 
    id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式。
    HTML元素以id属性来设置id选择器,CSS 中 id 选择器以 "#" 来定义。
    以下的样式规则应用于元素属性 id="para1":
    实例
    1
    2
    3
    4
    5
    #para1
    {
    text-align:center;
    color:red;
    }
    ID属性不要以数字开头,数字开头的ID在 Mozilla/Firefox 浏览器中不起作用。
    class 选择器
    class 选择器用于描述一组元素的样式,class 选择器有别于id选择器,class可以在多个元素中使用。
    class 选择器在HTML中以class属性表示, 在 CSS 中,类选择器以一个点"."号显示:
    在以下的例子中,所有拥有 center 类的 HTML 元素均为居中。
    实例
    1
    2
    3
    .center{
      text-align:center;
    }
    你也可以指定特定的HTML元素使用class。
    在以下实例中, 所有的 p 元素使用 class="center" 让该元素的文本居中:
    实例
    1
    2
    3
    p.center{
      text-align:center;
    }
    类名的第一个字符不能使用数字!它无法在 Mozilla 或 Firefox 中起作用。

    发展历史

    编辑
    CSS1
    作为一项W3C推荐,CSS1发布于 1996年12月17 日。1999 年1月11日,此推荐被重新修订。
    CSS2
    作为一项 W3C 推荐,CSS2发布于 1999年1月11日。CSS2添加了对媒介(打印机和听觉设备)和可下载字体的支持。
    CSS3
    CSS3 计划将 CSS 划分为更小的模块。
    W3C CSS 规范和时间线
    规范
    草案/提议
    推荐
    CSS 1
     
    1996 年 12 月 17 日
    CSS 1 (Revised)
     
    1999 年 1 月 11 日
    CSS 2
     
    1998 年 5 月 12 日
    CSS 2.1
    2007 年 7 月 19 日
     
    CSS 2 Mobile
    2007 年 10 月 19 日
     
    CSS 2 TV
    2003 年 5 月 14 日
     
    CSS 2 Print
    2006 年 10 月 13 日
     
    CSS 3
    2001 年 5 月 23 日
     
    CSS 3 Namespace
    2006 年 8 月 28 日
     
    CSS 3 User Interface
    2004 年 5 月 11 日
     
    CSS 3 Selectors
    2005 年 12 月 15 日
     
    CSS 3 Fonts
    2002 年 8 月 2 日
     
    CSS 3 Web Fonts
    2002 年 8 月 2 日
     
    CSS 3 Colors
    2003 年 5 月 14 日
     
    CSS 3 TV
    2003 年 5 月 14 日
     
    CSS 3 Backgrounds and borders
    2005 年 2 月 16 日
     
    CSS 3 Text
    2007 年 3 月 6 日
     
    CSS 3 Lists
    2002 年 11 月 7 日
     
    CSS 3 Line
    2002 年 5 月 15 日
     
    CSS 3 Box model
    2007 年 8 月 9 日
     
    CSS 3 Multi column
    2007 年 6 月 6 日
     
    CSS 3 Ruby
    2003 年 5 月 14 日
     
    CSS 3 Border
    2005 年 3 月 16 日
     
    CSS 3 Speech
    2004 年 12 月 16 日
     
    CSS 3 Paged Media (PM)
    2006 年 10 月 10 日
     
    CSS 3 Generated PM
    2007 年 5 月 4 日
     
    CSS 3 Print
    2006 年 10 月 13 日
     
    CSS 3 Values
    2006 年 9 月 19 日
     
    CSS 3 Cascade
    2005 年 12 月 15 日
     
    CSS 3 Template Layout
    2009 年 4 月 2 日
     
    CSS 3 Media Queries
    2009 年 9 月 15 日
     

    使用方法

    编辑
    有三种方法可以在站点网页上使用样式表:
    1. 外联式Linking(也叫外部样式):将网页链接到外部样式表。
    2. 嵌入式Embedding(也叫内页样式):在网页上创建嵌入的样式表。
    3. 内联式Inline(也叫行内样式):应用内嵌样式到各个网页元素。
    其中,优先级:内联式 > 嵌入式 > 外联式

    外部样式表

    当样式需要被应用到很多页面的时候,外部样式表将是理想的选择。使用外部样式表,你就可以通过更改一个文件来改变整个站点的外观。
    1
    2
    3
    <head>
    <link rel="stylesheet" type="text/css" href="mystyle.css">
    </head>

    内部样式表

    当单个文件需要特别样式时,就可以使用内部样式表。你可以在 head 部分通过 <style> 标签定义内部样式表。
    1
    2
    3
    4
    5
    <head>
    <style type="text/css"
    body {background-color: red} 
    p {margin-left: 20px}</style>
    </head>

    内联样式

    当特殊的样式需要应用到个别元素时,就可以使用内联样式。 使用内联样式的方法是在相关的标签中使用样式属性。样式属性可以包含任何 CSS 属性。以下实例显示出如何改变段落的颜色和左外边距。
    1
    2
    3
    <p style="color: red; margin-left: 20px"
    This is a paragraph 
    </p>

    布局特点

    编辑
    对于蜘蛛在爬行一个网站的页面时,若是有太多的垃圾代码,会使搜索蜘蛛对其产生不友好、不信任感,同时蜘蛛的爬行速度也会因此而减缓,对于网站SEO而言,可谓一大忌。就如传统的用table页面,对此我们就需要对网站进行代码优化,而这便需要动用CSS+div了,下面便来谈谈使用CSS+div进行代码优化的一些益处。
    一.精简代码,降低重构难度。
    网站使用DIV+CSS布 局使代码很是精简,相信大多朋友也都略有所闻,css文件可以在网站的任意一个页面进行调用,而若是使用table表格修改部分页面却是显得很麻烦。要是 一个门户网站的话,需手动改很多页面,而且看着那些表格也会感觉很乱也很浪费时间,但是使用css+div布局只需修改css文件中的一个代码即可。
    二.网页访问速度
    使用了DIV+CSS布局的网页与Table布局比较,精简了许多页面代码,那么其浏览访问速度自然得以提升,也从而提升了网站的用户体验度
    三.SEO优化
    采用div-css布局的网站对于搜索引擎很是友好,因此其避免了Table嵌套层次过多而无法被搜索引擎抓取的问题,而且简洁、结构化的代码更加有利于突出重点和适合搜索引擎抓取。
    四.浏览器兼容性
    DIV+CSS相比TABLE布局,更容易出现多种浏览器不兼容的问题, 主要原因是不同的浏览器对web标准默认值不同。国内主流是ie,firefox及chrome用的较少,在兼容性测试方面,首先需要保证在ie多版本不 出现问题,这里涉及到一些方法和技巧,可以针对具体问题在网站查找解决办法。
    五.CSS+DIV网页布局的时候常犯的小错误
    1. 检查HTML元素是否有拼写错误、是否忘记结束标记
    即使是老手也经常会弄错div的嵌套关系。可以用dreamweaver的验证功能检查一下有无错误。
    2. 检查CSS是否书写正确
    检查一下有无拼写错误、是否忘记结尾的 } 等。可以利用CleanCSS来检查 CSS的拼写错误。CleanCSS本是为CSS减肥的工具,但也能检查出拼写错误。
    3. 用删除法确定错误发生的位置
    如果错误影响了整体布局,则可以逐个删除div块,直到删除某个div块后显示恢复正常,即可确定错误发生的位置。
    4. 利用border属性确定出错元素的布局特性
    使用float属性布局一不小心就会出错。这时为元素添加border属性确定元素边界,错误原因即水落石出。
    5. float元素的父元素不能指定clear属性
    MacIE下如果对float的元素的父元素使用clear属性,周围的float元素布局就会混乱。这是MacIE的著名的bug,倘若不知道就会走弯路。
    6. float元素务必指定width属性
    很多浏览器在显示未指定width的float元素时会有bug。所以不管float元素的内容如何,一定要为其指定width属性。
    另外指定元素时尽量使用em而不是px做单位。
    7. float元素不能指定margin和padding等属性
    IE在显示指定了margin和padding的float元素时有bug。因此不要对float元素指定margin和padding属性(可以在float元素内部嵌套一个div来设置margin和padding)。也可以使用hack方法为IE指定特别的值。
    8. float元素的宽度之和要小于100%
    如果float元素的宽度之和正好是100%,某些古老的浏览器将不能正常显示。因此请保证宽度之和小于99%。
    9. 是否重设了默认的样式?
    某些属性如margin、padding等,不同浏览器会有不同的解释。因此最好在开发前首先将全体的margin、padding设置为0、列表样式设置为none等。
    10. 是否忘记了写DTD?
    如果无论怎样调整不同浏览器显示结果还是不一样,那么可以检查一下页面开头是不是忘了写下DTD声明。
    最后,需要注意的是,蜘蛛不喜欢一个页面有太多的css代码,否则同样会影响蜘蛛的爬行,影响搜索引擎的收录,所以采用外部调用的方式调用CSS是非常不错的方法。而同时,若非必须太多花哨的网站,采用CSS布局,同样可以到达所想要的效果。如网站导航中的文字颜色变化、下拉菜单等。

    创建编辑

    编辑
    创建和编辑css更加常用的是AdobeDreamweaver系 列软件,可视化编辑更利于web工程师快速的创建和编辑css,新版本CS5.0、CS5.5、CS6.0、CC,包含Adobe BrowserLab,用于针对多种浏览器测试css的兼容性。Adobe Dreamweaver是一个css创建和编辑必不可少的利器!
    FrontPage2000 包含有能用来为站点创建外部样式表的模板。可以用空白模板或已包含样式的模板来创建(例如 Arcs)。当保存样式表时, FrontPage 会以 . css 作为文件扩展名。要编辑样式表,请双击文件夹列表中的样式表。
    当创建或修改网页样式时,可使用位于 “格式” 菜单的 “样式” 命令,FrontPage 会自动创建嵌入的样式表(如果原先不存在),并在嵌入的样式表内将此样式保存为类选择器。
    可以使用 “样式” 对话框来创建新类选择器,修改或删除现有类选择器,或将 CSS 格式设置属性应用到标准HTML标 记符上例如 <H1>。当单击 “确定” 关闭对话框时,FrontPage 会将格式设置特征写回到使用正确语法的外部或嵌入的样式表中。或者,可以用正确 CSS 语法键入样式信息。要键入嵌入的样式表的样式信息,请单击网页视图模式下的 “HTML” 选项卡。
    如果对应用到站点的主题选择 “应用 CSS ” 复选框,FrontPage 将在站点的根目录下创建名为 Theme 1 .css 的文件,其中 Theme 是主题的名称。如果修改主题,FrontPage 自动将更改写回主题 CSS 里。也可以通过直接编辑主题 CSS 来修改主题。

    基础语法

    编辑
    CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明。
    选择器 {宣言1; 宣言2; ... 宣言N }
    选择器通常是您需要改变样式的 HTML 元素。
    每条声明由一个属性和一个值组成。
    属性(property)是您希望设置的样式属性(style attribute)。每个属性有一个值。属性和值被冒号分开。
    选择器 {property: value}
    下面这行代码的作用是将 h1 元素内的文字颜色定义为红色,同时将字体大小设置为 14 像素。
    在这个例子中,h1 是选择器,color 和 font-size 是属性,red 和 14px 是值。
    h1 {color:red; font-size:14px;}
    下面的示意图为您展示了上面这段代码的结构:
     
    值的不同写法和单位
    除了英文单词 red,我们还可以使用十六进制的颜色值 #ff0000:
    1
    2
    3
    p{
      color:#ff0000;
    }
    为了节约字节,我们可以使用 CSS 的缩写形式:
    1
    2
    3
    p{
      color:#f00;
    }
    我们还可以通过两种方法使用 红绿蓝RGB 值:
    1
    2
    3
    4
    5
    6
    p{
      color:rgb(255,0,0);
    }
    p{
      color:rgb(100%,0%,0%);
    }
    请注意,当使用 RGB 百分比时,即使当值为 0 时也要写百分比符号。但是在其他的情况下就不需要这么做了。比如说,当尺寸为 0 像素时,0 之后不需要使用 px 单位,因为 0 就是 0,无论单位是什么。
    值为若干词须写引号
    提示:如果值为若干词,则要给值加引号,值为中文也建议加上引号:
    1
    2
    3
    p{
      font-family:"sansserif";
    }
    多重声明
    如果要定义不止一个声明,则需要用分号将每个声明分开。下面的例子展示出 如何定义一个红色文字的居中段落。最后一条规则是不需要加分号的,因为分号在英语中是一个分隔符号,不是结束符号。然而,大多数有经验的设计师会在每条声 明的末尾都加上分号,这么做的好处是,当你从现有的规则中增减声明时,会尽可能地减少出错的可能性。就像这样:
    1
    2
    3
    4
    p{
      text-align:center;
      color:red;
    }
    你应该在每行只描述一个属性,这样可以增强样式定义的可读性,就像这样:
    1
    2
    3
    4
    5
    p{
      text-align:center;
      color:black;
      font-family:arial;
    }
    空格和大小写
    大多数样式表包含不止一条规则,而大多数规则包含不止一个声明。多重声明和空格的使用使得样式表更容易被编辑:
    1
    2
    3
    4
    5
    6
    7
    body{
      color:#000;
      background:#fff;
      margin:0;
      padding:0;
      font-family:Georgia,Palatino,serif;
    }
    是否包含空格不会影响 CSS 在浏览器的工作效果,同样,与 XHTML 不同,CSS 对大小写不敏感。不过存在一个例外:如果涉及到与 HTML 文档一起工作的话,class 和 id 名称对大小写是敏感的。[1] 

    高级语法

    编辑

    选择器的分组

    你可以对选择器进行分组,这样,被分组的选择器就可以分享相同的声明。用逗号将需要分组的选择器分开。在下面的例子中,我们对所有的标题元素进行了分组。所有的标题元素都是绿色的。
     
    1
    2
    3
    h1, h2, h3, h4, h5, h6 {
      color:green;
    }
     

      

    继承及其问题

    根据 CSS,子元素从父元素继承属性。但是它并不总是按此方式工作。看看下面这条规则:
     
    1
    2
    3
    body{
      font-family:Verdana,sans-serif;
    }
     

      
    根据上面这条规则,站点的 body 元素将使用 Verdana 字体(假如访问者的系统中存在该字体的话)。
    通过 CSS 继承,子元素将继承最高级元素(在本例中是 body)所拥有的属性(这些子元素诸如 p, td, ul, ol, ul, li, dl, dt,和 dd)。不需要另外的规则,所有 body 的子元素都应该显示 Verdana 字体,子元素的子元素也一样。并且在大部分的现代浏览器中,也确实是这样的。
    但是在那个浏览器大战的血腥年代里,这种情况就未必会发生,那时候对标准 的支持并不是企业的优先选择。比方说,Netscape 4 就不支持继承,它不仅忽略继承,而且也忽略应用于 body 元素的规则。IE/Windows 直到 IE6 还存在相关的问题,在表格内的字体样式会被忽略。我们又该如何是好呢?
    关于继承,还有一个特别的地方,如果<html>上没有设置background相关属性,而<body>上有设置,则<body>会向上传播到<html>上;
    并不是所有属性都能继承,比如CSS盒子模型相关属性就是不能继承的。
    继承是一个诅咒吗?
    如果你不希望 "Verdana, sans-serif" 字体被所有的子元素继承,又该怎么做呢?比方说,你希望段落的字体是 Times。没问题。创建一个针对 p 的特殊规则,这样它就会摆脱父元素的规则:
     
     
    1
    2
    3
    4
    5
    6
    7
    8
    9
    body {
      font-family:Verdana,sans-serif;
    }
    td, ul, ol, ul, li, dl, dt, dd {
      font-family:Verdana,sans-serif;
    }
    p {
      font-family:Times,"TimesNewRoman",serif;
    }
     
    关于继承其实是一个很好、很强大的功能,因为有继承,我们可以少写很多code. 

    删除样式

    编辑
    使用Frontpage编辑时,在页面视图下打开样式文件。格式/样式命令,从打开的“样式”对话框中选择要删除的样式,单击“删除”。
    专业人士可能会用代码写CSS样式,例如给一个div块内的内容连接样式可以使用下面的语句:<div class="classname" >,而当你要删除样式时,把尖括号里面的"class='classname' "语句去掉即可。

    CSS压缩方法

    编辑
    理想的情况是只拥有一个CSS文件(如果你使用RWD以支持IE的老版本,那就需要两个CSS文件。)构建并维护几个单独的CSS文件也算合理,但在部署到产品服务器之前,你应该将它们集合在一起,并删掉那些不必要的空白区域。
    Saas、LESS和Stylus等预处理器可帮你完成这些痛苦的工作。 Grunt.js、 Gulp等工具可自动化你的工作流。如果你更喜欢GUI,可借助Koala提供的免费跨平台应用。
    如果你觉得这些比较麻烦,也可手动通过命令行工具将CSS文件集中在一起,如在Windows中,可使用如下代码:
    在Mac/Linux中,可使用如下代码:
    最终文件经过在线CSS压缩工具(如 cssminifier.com、 CSS Compressor & Minifieror等)压缩后即可运行。
    最后,请记住在头部(Head)加载所有CSS,以便浏览器展示接下来的HTML元素,同时也可避免浏览器下次再重绘页面元素。[2] 
  • 相关阅读:
    获取Android状态栏高度的屡试不爽的方法
    在线音乐API的研究 (Part 2.1)
    Zabbix
    利用 Puppet 实现自动化管理配置 Linux 计算机集群
    django的admin后台管理如何更改为中文
    windows系统安装python3.6.3和python3.7.0
    微课程--Android--高级控件之二--标题栏
    微课程--Android--高级控件之一ListView
    微课程--Android--Fragement
    微课程--Android--界面布局总结
  • 原文地址:https://www.cnblogs.com/hoobey/p/5440236.html
Copyright © 2011-2022 走看看