Css,Cascading Style Sheets,层叠样式表。用于控制HTML页面样式。他的基本格式由两部分组成:

选择器 声明块

一、使用

css的注释用 /* 注释内容 */

1.导入外部样式表

<link rel=”stylesheet”type=”text/css”href=”myCss.css”media=”all”/>

rel:表示关系,这里的关系是“stylesheet”;如果将rel定义为“alternate  stylesheet”,他就为候选样式表,利用title属性生成候选样式列表;

type:描述link加载的数据类型;

href:样式表的位子;

media:这个样式要运用的媒体,all表示所有。

2.在页面的样式表

<style type=”text/css”>   /*样式表内容*/  </style> 。可以使用media属性。

3.在页面的样式表中导入外部样式表

<style type=”text/css”>

@import url(mycss.css)  media;

/* 样式表内容 */

</style>

media作用和前面的link一样,可有可无。

4.内嵌的样式

直接使用元素的style属性,指定p标签内的颜色为红色

<p style = “color:red”>xxxx</p>

二、选择器

1 分组

h1 , h2 , p { color : red;  }  逗号表示分组,这句表示h1,h2,p标签的字体颜色为红色。如果不要逗号,意义完全不一样。

*  { color : grey ; font-size: 80px ;}    * 是通配选择器,表示所有的标签元素 字体为灰色,大小为80像素。

2 类选择器 要区分大小写

.warning { font-weight : bold ; }  表示class值为“warning”的标签,字体全部加粗。前面有英文的句号。类选择起可以连起用 如    p.warning.help  ,他匹配的是class属性包含warning 和 help的p元素。中间没有空格。

3 id选择器 要区分大小写

#warning { font-weight : bold ; }  表示Id值为“warning”的标签,字体全部加粗。前面有井号。

p#warning 表示id为warning的p元素

用id选择器还是类选择器?

类名可以重复用,而html中标签的id是唯一的。这意味着id选择器在一个html文档中,最多只会使用一次。

4 属性选择器 [ ]

4.1根据属性选择

h1[class] { color: silver } 表示  带有class 标签的h1元素都被选择,设置字体颜色为灰色。

* [id] 表示选择所有的带有id属性的元素。其他属性选择同理。

4.2根据属性值选择

a[ href =”http://www.baidu.com”] 表示选择所有超链接等于百度的a标签。

p[ calss=”warning”] 表示选择所有class等于warning的p标签。

4.3根据部分属性值选择

p[ class~=”warning”]表示包含warning这个词的class属性,注意不是包含这个字符串,而是包含词,使用空格分开的词!他根据属性中,一个用空格分隔的词来完成选择。他等价与 p.class

p[ class ^=”warning”] 表示calss属性以字符串warning开头的p标签。

p[ class $=”warning”] 表示calss属性以字符串warning结尾的p标签。

p[ class *=”warning”] 表示calss属性包含字符串warning的p标签。

4.4后代选择器

#d1 h1{  color : red }表示id为d1元素的所有后代h1字体颜色为red。

#d1 > h1{  color : red }表示id为d1元素的所有直接子元素h1字体颜色为red。

#d2 + div{  color : red }表示id为d2元素的紧接着的一个兄弟节点div的字体为红色。

4.5伪类选择器

4.5.1链接伪类

a:link   表示未访问的超链接

a:visited  表示已访问的超链接

4.5.2动态伪类

input : focus 表示当前有输入焦点的input元素。

p:hover  表示当前鼠标停留的元素。

button : active  表示被用户输入激活的元素。

注:在a标签上设置伪类样式时,推荐是“LOVE-HA” ;link ,visited , hover , active

4.5.3静态伪类

h1:first-child   选择 作用第一个子元素的 h1 。eg:

<body>
    <h2></h2>
   
<h1>d1外的h1</h1>
    <div id="d1">
       
<h1>d1内的h1</h1>
        <div id="d2">
           
<h1>d2内的h1</h1>
        </div>
       
<h1>d1内的h1</h1>
   
</div>
</body>
这个就只有中间两个被选中,因为第二个h1是d1的第一个子元素,第三个h1是d2的第一个子元素。

* : lang(fr)  选择所有法语。这个是对语言进行选择

4.6伪元素选择器

p:first-letter  选择块级元素的首字母 。常用的块级元素 p div h 。。。。

p:first-line 选择块级元素的第一行文本

注:first-letter 和 first-line 对属性的使用是有限制的,不是所有属性都有效!

h1:before {contetn: “myContetn”;}
在标签h1添加一个myContent,后面可以设置样式。

h1:after{contetn: “myContetn”;}
在标签h1添加一个myContent,后面可以设置样式。

三、样式表的特殊性

如果多个选择器都选中了同一个样式,那么首先根据他们的重要性判断,及  
!important

#d1 h1{  color : red !important ; } 若一个属性后加入了!important ,所有选择的元素都以这个属性为主。

然后根据特殊性判断,选择器的特殊性值表示为4个部分:0,0,0,0

若存在Id选择器,就加上   0,1,0,0

若存在类选择器,或属性选择器,或伪类选择器,就加上  0,0,1,0

若存在元素,或伪元素,就加上 0,0,0,1

若是内嵌的样式,及标签里有style属性, 就加上 1,0,0,0.

eg:

div 特殊性为0,0,0,1; div#id 为 0,1,0,1;  div p.class #name 为 0,1,1,2.

把逗号去掉是一个四位数,如果属性冲突,谁大就以谁为准。注意,这里可以把  !important  理解为无限大。

如果他们的重要性和特殊性一样,那么以后面的为主。

四、关于定位和浮动

position的四个属性。

1、static:默认值。没有定位,元素出现在正常的流中。

2、relative:生成相对定位的元素,通过top,bottom,left,right的设置相对于其正常位置进行定位。他是相当于原本位置的偏移位置,可能会覆盖其他元素。他原本的位置会保留。

3、absolute:生成绝对定位的元素,相对于 static
定位以外的第一个父元素进行定位。这种定位的元素不再正常流当中,完全被独立了的。可能会覆盖其他元素。元素的位置通过 "left", "top", "right"
以及 "bottom" 属性进行规定。

4、fixed:生成绝对定位的元素,相对于浏览器窗口进行定位。元素的位置通过 "left", "top", "right" 以及 "bottom"
属性进行规定。

他们的上下关系用z-index确定。

浮动,float:left | right | none

他会从正常流中删除,但是还是会影响布局。

随便写写,当作了解--Css的更多相关文章

  1. 没有什么,开发ASP.NET时随便写写,想到什么写什么

    没有什么,开发ASP.NET时随便写写,想到什么写什么,这次想写点开发过程中,比如在数据库,某一张表中有一个字段,如下: 上面代码示例中高亮字段,数据类型为BIT,它存储的值将为"True& ...

  2. 【随便写写】印象笔记,WordPress,CSDN 等 写博客的不同

    之前有的文章,写在了印象笔记里面,有的文章,写在了自己的WordPress博客里面,但是,感觉还是需要在主流平台分享一下文章的.就再次写写文章吧.(PS:公众号最重要的不是写作,而是排版) 说说几个这 ...

  3. <随便写写>

    # Markdown用法 整理

  4. python3第一天,随便写写

    哈哈 我滴第一篇博客,不知道咋写,随意看了看别人的博客,我还是不知道咋写,既然是我的博客,那我就把它当随笔写了(这里就是添加随笔...) 也不知道自己说了啥,不过想到了一句话:日记都是写给别人看的.哈 ...

  5. 随便写写,也有一些参考了我jio的很好的他人的成果

    Spring框架学习记录(1) 一. https://www.cnblogs.com/yuanqinnan/p/10274934.html (一)只要用框架开发java,一定躲不过spring,Spr ...

  6. c#随便写写 数据层和表现层,队列执行

    base.xxx() 调用父类的方法

  7. SparkSQL DSL 随便写写

    @Testdef functionTest() = { Logger.getLogger("org").setLevel(Level.WARN) val spark = getSp ...

  8. 《精通CSS:高级Web标准解决方案》学习笔记(上)

    鉴于国产CSS书籍基本都是辣鸡的现状,我在半年前动用某工作室的购书资金采购了一些技术书籍,这本广受好评的<精通CSS>也在其中.但是在阅读过后我深深的感觉到,如果说CSS本来已经是一种很琐 ...

  9. 【自编教材】16万8千字的HTML+CSS基础 适合从0到1-可收藏

    [图片链接有点小问题,这几天更新,敬请期待!] 目 录 第一章HTML基础 1.1 HTML简介和发展史 1.1.1 什么是HTML 1.1.2 HTML的发展历程 1.1.3 web标准 1.2 开 ...

随机推荐

  1. python运算符的优先级

    运算符优先级 如果你有一个如2 + 3 * 4那样的表达式,是先做加法呢,还是先做乘法?我们的中学数学告诉我们应当先做乘法——这意味着乘法运算符的优先级高于加法运算符. 下面这个表给出Python的运 ...

  2. javascript 的 split用法

    var array = "200,400,300".split(","); var nums = [ ]; for (var i=0 ; i< array ...

  3. js基础第二天

    函数:是由事件驱动的或者当它被调用时执行的可以重复使用的代码块. 函数声明: 1. 自定义函数(常用) var num=10; function fun() { alert("我是自定义函数 ...

  4. php中的字符串和正则表达式

    一.字符串类型的特点 1.PHP是弱类型语言,其他数据类型一般都可以直接应用于字符串函数操作. 1: <?php //输出345 //输出345 //先查找hello常量,若没找到,将hello ...

  5. 问题:贴友关于CSS效果的实现

    今日在百度贴吧中,一贴有提出如下问题: 对于这个问题,咱们贴上代码看效果 1: <html> 2: <head> 3: <meta http-equiv="co ...

  6. 把公共cpp包含到cocos2d-x内部编译的方法。。

    找到cocos2d-x-3.0alpha0-pre\extensions\Android.mk文件,把自定义的cpp文件加进去即可..如果是其它系统就进相应的目录,找到配置文件添加即可..

  7. 【推荐】JavaScript的那些书

    又好久没写东西了,写上一篇的时候还以为接下来的工作会轻松一些,结果未从我所愿呐,又是一阵忙碌.而这段时间穿插着做了很多12年淘宝校园招聘的前端面试,很多同学都有问到,学校里没有前端的课程,那如何学习J ...

  8. 用UGN3503霍尔器件制作的数字指南针_电路图

    本文介绍了用两个UGN3503型霍尔器件设计制作的数字指南针的设计目的.系统结构和工作原理,以及各主要器件的使用方法.本系统包括UGN3503型霍尔器件.TLC0832 A/D转换器.单片机控制.液晶 ...

  9. Visual Studio动态代码生成的实现基础

    这篇文章讨论以下3个问题: 1.代码生成器应该做什么 2.大多数代码生成器的缺点 3.动态代码生成实现的基础 代码生成器应该做什么? 我认为,目标是加快项目开发,方式是减少重复代码手工操作,实现是用过 ...

  10. Android设计模式系列-适配器模式

    对于android开发者来说起,适配器模式简直太熟悉不过,有很多应用可以说是天天在直接或者间接的用到适配器模式,比如ListView.ListView用于显示列表数据,但是作为列表数据集合有很多形式, ...