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. 关于.jar的文件在cmd中无法连接数据库的问题

    我使用一个.jar的文件,想在cmd中以“java -jar *.jar”的格式运行,方便system.println()一些信息,该jar包中包含数据库连接内容,在我关闭comodo防火墙和wind ...

  2. Integrating JavaScript into Native Applications

    JavaScriptCore 简介 iOS7 中新加入的 JavaScriptCore.framework 可能被大多数开发人员所忽略,但是如果你之前就在项目中用过自己编译JavaScriptCore ...

  3. C# Debug与release之间的一些小差异

    如果代码声明了一个变量,后面却没有用到, 生成方式debug模式下,这个变量的值存在,调试过程中是可以看到的, 生成方式release模式下,编译时经过了优化,这个值在调试过程就看不到了

  4. ArcGIS 10.2与CityEngine2013共存的安装

    直接上干货 大前提:由于License Manager的不同版本无法同时安装,因此要想ArcGIS和CityEngine共存其License Manger必须一致. 通过校验安装包中License M ...

  5. minicom 没有tx 信号

    在minicom -s 的配置中:——> Serial port setup -->  选择F - Hardware Flow Control : No默认是yes, 但是没有tx信号输出 ...

  6. ABAP开发基础知识:内表(Internal Table)

    http://www.cnblogs.com/foxting/archive/2012/03/19/2406830.html 内表与结构体基本类似,它同样是程序运行中被临时创建的一个存储空间,它是一个 ...

  7. Lodop Web打印插件使用

    <object id="LODOP_OB" classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" st ...

  8. 智能电视TV开发---客户端和服务器通信

    在做智能电视应用的时候,最头疼的就是焦点问题,特别是对于个人开发者,没有设备这是最最头疼的事情了,在没有设备的情况下,怎么实现智能电视应用呢,接下来我是用TV程序来做演示的,所以接下来的所有操作是在有 ...

  9. Notes(一)

    Numerous experimental measurements in spatially complex systems have revealed anomalous diffusion in ...

  10. .Net Core静态文件中间件StaticFiles的使用

    以前,当我们的网站需要显示图片的时候,直接在网站目录下新建文件夹,把图片放在这个文件夹下,然后通过文件夹的路径就可以访问到. 但是在.net core中不可以这样,要通过中间件StaticFiles配 ...