CSS 相关知识总结

1 什么是CSS?
CSS全称(Cascading Style Sheets)是一门指定文档该如何呈现给用户的语言。

2 为何使用CSS?

CSS 文档信息的内容和如何展现它的细节想分离,文档细节即为样式(style)。你可以将样式与内容进行分离出来,以便我们能够

  •   避免重复
  •   更容易维护
  •   为不同的目的,使用不同的样式而内容相同

3 CSS 如何工作的?

浏览器在展示一个文档内容的时候,必须要把文档和样式信息结合起来展示。这个处理过程一般分为两个阶段:

1 浏览器先将标记语言和CSS转换成DOM(文档对象模型)结构。这时DOM就代表了电脑内存中的相应文档,因为它已经融合文档结构和样式表

2 最后浏览器把DOM的内容展示出来。

4 层叠和继承?

一个元素的样式,可以通过多种方式来定义,而多种定义方式之间通过复杂的影响关系决定了元素的最终样式。这种复杂既造就了CSS的强大,也导致CSS显得如此“混乱”而且难以调试

对于层叠来说,共哟三种主要的样式来源

  1.   浏览器对HTML定义的默认样式
  2.   用户定义的样式
  3.   开发者定义的样式,可以有三种形式
    •     定义在外部的样式(外链样式):可以达到共用
    •     定义在页面头部的样式(内联样式):通过这种形式定义的样式,只能当前页面使用
    •     定义在特定元素身上的(行内样式):这种形式多用于测试,可维护性差

5 选择器(Selectors)

  标签选择器

  关系选择器

常见的基于关系的选择器
选择器 选择的元素
A E 任何是元素A的后代元素E (后代节点指A的子节点,子节点的子节点,以此类推)
A > E 任何元素A的子元素
E:first-child 任何元素的第一个子元素E
B + E 任何元素B的下一个兄弟元素E
B ~ E B元素后面的拥有共同父元素的兄弟元素E

  类选择器

  ID选择器

  伪类选择器

:link
:visited
:active
:hover
:focus
:first-child
:nth-child
:nth-last-child
nth-of-type
:first-of-type
:last-of-type
:empty
:target
:checked
:enabled
:disabled

提示:请使用

    :link 选择器对指向未被访问页面的链接设置样式,

    :visited 选择器用于选取已被访问的链接。

    :hover 选择器用于设置鼠标指针浮动到链接上时的样式

    :active选择器用于设置点击链接时的样式

其四种分别表示:链接 访问过的链接 悬浮在连接上 访问时(点击链接时)

:focus 表示元素获取焦点的

兼容性:

Chrome Firefox Internet Oper Safari
1.0 1.0 8.0 7.0 1.0

修饰表单元素状态:

  :checked,:enabled,:disabled

:checked 被选中时

:enabled  可用状态

:disabled 无效状态

enabled 表示任何启用的(enabled)元素。如果一个元素能够被激活(如选择、点击或接受文本输入)或获取焦点,则该元素是启用的。元素还有一个禁用的状态(disabled state),在被禁用时,元素不能被激活或获取焦点。

:target

  目标元素一般配合a链接使用,利用其锚点功能,表示当前锚点指向的目标对象

:empty

  表示没有内容的元素,例如 <hr/> <br/>

:first-child

  第一个子元素

:nth-child()

  从开始位置选择指定位置的子元素

  

      :nth-child(2) {
          color: red;
      }

        <div>
            <p>111111</p>
            <p>111111</p> //变红
            <p>111111</p>
            <p>111111</p>
        </div>

:nth-last-child()

  从结束为止开始选择制定子元素

  

      :nth-last-child(2) {
            color: red;
       }

        <div>
            <p>111111</p>
            <p>111111</p>
            <p>111111</p> //变红
            <p>111111</p>
        </div>    

:nth-of-type()

  根据类型 当没有指定具体类型时,则全文查找相同类型的指定位置的元素给其添加样式
  

    <style>
        :nth-of-type(4){
            color:red;
        }
    </style>

    <a href="#d">aaaa</a>
    <a href="#d">aaaa</a>
    <a href="#d">aaaa</a>
    <a href="#d">aaaa</a> //变红
    <div>
        <div>
            111111111111
        </div>
        <div>
            111111111111
        </div>
        <div>
            111111111111
        </div>
        <div>
            111111111111
        </div>   //变红
  </div>

  也可以指定类型

    div:nth-of-type(4){
        color:red;
    }

    <a href="#d">aaaa</a>
    <a href="#d">aaaa</a>
    <a href="#d">aaaa</a>
    <a href="#d">aaaa</a>
    <div>

        <div>
            111111111111
        </div>
        <div>
            111111111111
        </div>
        <div >
            111111111111
        </div>
        <div >
            111111111111  //变红
        </div>
    </div>

  也可以指定范围(也就是父元素),例如下

   .parent div:nth-of-type(4) {
        color: red;
    }

    <div>
        111111111111
    </div>
    <div>
        111111111111
    </div>
    <div>
        111111111111
    </div>
    </div>
    <div>
        111111111111
    </div>
    <div class="parent">
        <div>
            111111111111
        </div>
        <div>
            111111111111
        </div>
        <div>
            111111111111
        </div>
        <div>
            111111111111
        </div>
    </div>

:first-of-type

  选择第一个子元素,这与frist-child 区别在于可以进行类型

  

    :first-child {
        color: red;
    }

    <p>111111</p>
    <p>
        <span>111</span>
    </p>
    <div>
        <p>111111</p>
    </div>

或

     :first-of-type{
        color: red;
    }

    <p>111111</p>
    <p>
        <span>111</span>
    </p>
    <div>
        <p>111111</p>
    </div>

:last-of-type  先筛选例如先找出所有的兄弟节点p元素,再选择最后一个p元素

  

    p:last-of-type{
        color: red;
    }
    <p>111111</p>
    <p>
        <span>111</span>
    </p>
    <div>
        <p>111111</p>  //变红
    </div>
    <p>
        <span>111</span>  //变红
    </p>

  //再看看这样的也行       p:last-of-type{        color: red;
      }
    <p>111111</p>
    <p>
        <span>111</span>
    </p>    <p>
    <span>111</span>  //变红
  </p>
 <div> <p>111111</p> //变红 </div> 
 

而last-child不进行筛选,只有满足是父元素中并且是最后一个

   p:last-child{
        color: red;
    }
    <p>111111</p>
    <p>
        <span>111</span>
    </p>
    <div>
        <p>111111</p>  //变红
    </div>
     <p>
        <span>111</span> //变红
    </p>
或者

    p:last-child{
        color: red;
    }
    <p>111111</p>
    <p>
        <span>111</span>
    </p>
    <p>
        <span>111</span> //不变红
    </p>
    <div>
        <p>111111</p>  //变红
    </div>

  

时间: 2024-10-23 21:10:03

CSS 相关知识总结的相关文章

CSS相关知识

CSS的优势: 1:样式表提供了远比HTML多得多的格式化选择. 2:在给网页添加背景的时候,你要确定他要如何平铺(重复等一系列的属性) 3:CSS占用的空间也远比HTML的格式化选项要少得多,加载速度更快 4:可以设置多种样式样式表,更具不同的需求提供不同的风格,样式更加独立 文档类型: 所有网页都是一个doctype(文档类型)开头的,表示网页用哪一种HTML来编写 HTML的工作原理 1:网站的第一行是DOCTYPE声明, 2:<html></html>如果把一个网页比作成一

CSS相关知识三

CSS的transform.transition和animation属性 transform属性 (变形) 它是CSS用改变换样式的基础属性,你可以设置这个属性的不同的值,来使样式进行改变 这个属性是比较新的是,所以并不是所有的浏览器都能支持,IE8及之前的浏览器是不支持的. 因此还需要给所有浏览器提供厂商前缀 -webkit-transform: -moz-transform: -o-transform: -ms-transform: 记得注意的特性:这个属性不会对周围的元素产生影响. tra

css基本知识

1.CSS 简介 CSS 指层叠样式表 (Cascading Style Sheets),是一种用来表现 HTML 文档样式的语言,样式定义如何显示 HTML 元素,是能够真正做到网页表现与结构分离的一种样式设计语言.样式通常存储在样式表中,外部样式表通常存储在 CSS 文件中,多个样式定义可层叠为一. HTML 标签被设计为用于定义文档内容,也就是文档结构,为了增强代码的可读性,实现网页结构与表现相分离的原则,万维网联盟(W3C),肩负起了 HTML 标准化的使命,并在 HTML4 之外创造出

[HTML &amp; CSS] HTML和CSS基础知识

最近将博客简单地修饰了下,需要用到HTML和CSS代码,花了一天时间学习了一下这两方面的知识.虽然内容很简单,但是足够用来修改自己的博客了. 1. HTML 1.1. HTML介绍 HTML与CSS的关系 HTML 网页内容的载体,内容包含文字.图片.视频等. CSS 网页的样式,即表现,包含标题字体.颜色.边框等. JavaScript 实现网页上的特效效果. HTML文件的基本结构 <html> <head>…</head> <body>…</bo

12个你未必知道的CSS小知识

虽然CSS并不是一种很复杂的技术,但就算你是一个使用CSS多年的高手,仍然会有很多CSS用法/属性/属性值你从来没使用过,甚至从来没听说过. 1.CSS的color属性并非只能用于文本显示 对于CSS的color属性,相信所有Web开发人员都使用过.如果你并不是一个特别有经验的程序员,我相信你未必知道color属性除了能用在文本显示,还可以用作其它地方. 请注意,上面的代码里只使用了一个color属性,就是在body元素上,设置成了yellow.但是,你也看到了,所有这个页面上的东西都变成了黄色

HTML入门基础教程相关知识

HTML入门基础教程 html是什么,什么是html通俗解答: html是hypertext markup language的缩写,即超文本标记语言.html是用于创建可从一个平台移植到另一平台的超文本文档的一种简单标记语言,经常用来创建web页面.html文件是带有格式标识符和超文本链接的内嵌代码的ascii 文本文件——html结构了解. html文本是由 html命令组成的描述性文本,html 命令可以说明文字. 图形.动画.声音.表格.链接等. html网页结构包括头部 (head).主

相关知识: JavaScript

相关知识: JavaScript JavaScript是一种编程语言,它被广泛用来实现web站点和应用中的交互效果. JavaScript可以同样式进行交互,你可以通过编写程序来动态改变文档上元素的样式. 有三种方法可以实现这样的效果: 控制样式表—可以添加.删除.修改样式表. 控制样式规则—可以添加.删除.修改样式规则. 控制DOM中的单个元素—可以不依赖样式表来修改元素样式. 更多细节 要了解 JavaScript的更多细节,可以到这个wiki JavaScript . 范例: 一个Java

angular管道相关知识

什么是管道 每个应用开始的时候差不多都是一些简单任务:获取数据.转换它们,然后把它们显示给用户. 获取数据可能简单到创建一个局部变量就行,也可能复杂到从WebSocket中获取数据流.一旦取到数据,我们可以把它们原始值的toString结果直接推入视图中. 但这种做法很少能具备良好的用户体验. 比如,几乎每个人都更喜欢简单的日期格式,例如1988-04-15,而不是服务端传过来的原始字符串格式 -- Fri Apr 15 1988 00:00:00 GMT-0700 (Pacific Dayli

&lt;转载&gt;Div+Css布局教程(-)CSS必备知识

目录: 1.Div+Css布局教程(-)CSS必备知识 注:本教程要求对html和css有基础了解. 一.CSS布局属性 Width:设置对象的宽度(width:45px). Height:设置对象的高度(Height:45px;). Background:设置对象的背景颜色.背景图像. 1.背景颜色 background:#09F; 2.背景图像 background:url(file:///C|/Users/Administrator/Desktop/huipu.jpg) repeat-x;