PHP02-Css

Css层叠样式表

Css层叠样式表,允许网页设计者定义网页元素的样式,字体颜色及其它高级样式.

样式表说白了就是表示网页标签元素长什么样式,由一组决定显示格式,这些规则用定定义网页中任何HTML元素内容的显示格式

例:   h1 {color:red;font-size:14px;}

选择器   声明(属性,值)         声明(属性,值)        里面属性与值采用字典的格式; 

1.Css语法

由一到多个规则组成,规则由选择器与格式声明语句两部分组成

选择器就是你要改变的那个样式的HTML元素,类似于选择那个控件

声明语句放在{}内;

每一条格式声明语句由"属性名:属性值"对组成,属性名与属性值间以冒号隔开,每条声明语句以分号";"结束

CSS对大小写不敏感;


2.属性:

在格式声明语句中,属性名称与属性值之间以冒号":"隔开,属性值不需要使用引号括起来,除非属性值是由多个单词组成;   (字典)

有的属性可以指定多个属性值,多个属性值以","隔开;

当定义多个值时,浏览器按照前后顺序选择属性值.如果第1个值有效,则尝试使用,如果第1个无效,则使用第2个,依次类推

例:

div.news.title{

font-family:"华文行楷","宋体","Times New Roman",Arial;

text-align:center;

font-weight:bold;

color:#444444;

background-color:#808080;

}


3.选择器分类:

基本选择器,组合选择器,属性选择器,伪类选择器;


基本选择器:

选择器       含义     举例

通用选择器  通用选择器,将匹配任何元素.不建议使用,IE不支持,大网站增加客户端负担   *{margin:0px}  

标签选择器  匹配标签元素   p{font-size:14px};

类选择器 定义一类HTML元素样式,以"."来定义   .box{width:800px;}

Id选择器   Id选择器可以为标有特定ID的HTML指定的样式,只能使用一次.ID选择器以"#"来定义   #title{font-size:14px};


组合选择器

(疑问:后代选择器与子元素选择器不要搞混了)

E,F多元素选择器  多元素选择器,同进匹配所有E或F的元素,E或F之间使用逗号分隔  p,h1,h2{margin:0px};

E F后代选择器  匹配所有属性E元素后代的F元素,E F之间使用空格分隔  #slidebar p{font-color:#990000;}

E>F子元素选择器   匹配所有E元素的子元素F  div>p{color:#990000;}

E+F相邻元素选择器  匹配所有紧随E元素之后的同级元素F  div+div{color:#990000;}

注意:后代选择器:浏览器CSS匹配从右到左进行查找,好处就是尽早过滤掉无关样式规则与元素(可是为什么从右往就可以呢?)


属性选择器

E[attr]   匹配所具有att属性的E元素,不考虑它的值  h1[align]{......}  input[type][size]{......}

E[attr = val]  匹配所有attr属性值等于val的E元素   h1[align = center]{.......} 属性值 一般不加引号;


伪类选择器

<a>标记的选择器 ,对应4种不同的状态:未访问的链接link,鼠标放上的状态hover,已访问链接visited,当前活动链接active.  CSS允许对于元素的不同状态, 定义不同的格式化信息

选择器的      含义

a:link   未访问的链接

a:hover  鼠标移动到链接上

a:visited  已访问的链接

a:active   选定的链接

a.red:link  class等于red的a元素

a.red:visited  同上

a.red:active 同上

a.red:hover  同上


4.CSS中的注释

/* 注释*/

例:  td{

color:black;/*定义颜色*/

font-size:14px;/*定义大小*/

text-align:center;/*对齐方式*/

}

5.HTML中添加样式表

style定义内部样式表---内嵌式

1.内部样式通过<style>元素直接在HTML文档中定义样式表,2.它可以出现在HTML的任何地方,一般情况下在<head></head>之间定义<style></style>,3.通过<style>定义的内部样式表只能应用于当前HTML文档中的元素;

<html>

<head>

<style type = "text/css">

table{border:1px solid#cccccc;}

</style>

</head>

外部级联样式表----外联式

多个HTML需要进行共享样式表,应使用外部级联式样式表.

将包含规则的样式表保存后缀为.css的文件,在<head>标记通过<link>标记引入

其中,rel属性定义当前与href属性中链接文档之间的系,属性值stylesheet表示链接文档外门部的一个样式表文件;type属性表示链接文件的MIME类型;href为要链接文件的地址,可以是相对路径,也可以是绝对路径.

<html>

<head>

<link rel = "stylesheet" type = "text/css" href = "css文件地址"/>

</head>

在.css文件中,只包括各项规则,不出现<style></style>标记对.

一个HTML文档中,可以根据需要链接任意个外部样式表文件.多个样式表文件中的规则将根据被链接进行叠加与覆盖

行内样式----------style属性

每个HTML元素均有一个style属性,该属性值为当前元素直接定义样式,该样式只应用到当前元素及其包含的内层元素.

Style属性的值与样式表规则{}内的内容相同.

<h1 style = "height:30px;line-hight:30px">一级标题内容</h1>

导入外部样式表

导入外部样式表是<style></style>标记内引用外部样式表文件的内容,也可在CSS文件中使用.导入通过@improt语句实现.

使用进@improt语句必须出现在其它规则定义之前,语法:@import(样式表地址)

区别:<link>元素是HTML的一个标签,而@improt是Css的一个标签,是CSS的一部分,只能在CSS内部使用;

<style type = "text/css">

@import url(css/main.css);

p{color:#444444;}

</style>

6.CSS优先级

选择器的优先级  !important>行内样式>ID选择器>Class选择器>元素选择器

定义!important的选择器,优先级最高,但IE6不支持.

例如:  h1{color:#ff0000 !important;}

<style type = "text/css">

/*行内样式优先级最高*/ 

#title{color:#0000ff;} /*ID选择器比Class选择器优先级高*/

.title{color:#00ff00;}/*Class选择器比元素选择器优先级高*/

h1{color:#ff0000;} /*元素选择器,优先级最低*/

<style>

<h1 class= "title" id = "title" style = "color:#999900">人社部官员</h1>


指定越精确优先级越高,通常标签 class ID  行内样式选择器的优先级分别是1 10 100 1000,数字越大越精确;

举例:

div.box span{}优先级为12

.box span{}   优先级为11,优先级小于上边

7.CSS高效原则

让浏览器在查找style匹配的时候尽可能少的查找找到;

原则:

不要在ID选择器前使用标签名    例如:div#box  简写形式#box

不要在class选择器前使用标签名    例如:   div.box简写形式  .box

尽量少使用层级关级    例如:  .box .news .title h1   简写形式 .title h1

使用class代替层级关系 例如:   .box  .news  .title  简写形式 .title

8.CSS的属性

尺寸属性  height/width     值auto自动,浏览器会自动计算高度,length:使用px定义高度,%:基于包含它的块级对象的百分比高度/宽度


字体属性:

font-family 宋体,黑体     字体

  font-size 12px,14px      大小

 font-style  normal italic   样式

font-weight  normal bold bolder lighter   粗细

font  设置文字各种属性的简捷方式

Font可以同时设置字符的各种属性,各属性间用空格隔开,如果同时设置font-size与font-height这两属性值可以使用"/"隔开;

font{italic bold 12px/20px arial,sans-serif;}


Css文本属性

color  #ff000000或red或rob(3,5,8) 设置文本颜色

line-height   正整数或百分比  设置行高

letter-spacing   正整数或负值   字符间距

text-align  left center right  对齐方式

vertical-align  Top middle bottom baseline等当前元素与相邻元素的垂直对齐关系

text-transform      Capitalize uppercase lowercase      大小写转换

text-indent    %或像素  首行文本缩进

text-decoration none underline overlain line-though  文本的修饰

word-spacing  normal,length 单词间距

p{text-decoration:underline overlain line-through;}   //同时设置多线;


CSS属性--------伪类属性

:link  向未被访问的链接添加样式

:visited  向已被访问的链接添加样式

:hover  当鼠标悬浮在元素上方时,向元素添加样式;


CSS属性--------列表属性

list-style   square inside url(arrow.gif)   在一个声明中设置所有列表属性

line-style-image  url 图像路径   将图像设置为列表项标记

line-style-position  inside outside 设置列表项标记放置位置

list-style-type none disc square circle 设置列表项标记的类型


CSS属性------表格属性

属性    值   含义

border-collapse separate(默认),collapse(合并)   是否合并表格边框

border-spacing  length  相邻单元格边框之间的距离,如果设置一个值,水平与垂直一样;如果设置两个值,水平与垂直分开设置

caption-slide top或bottom  规定表格标题的位置


CSS属性   背景属性

background-color  #f0000,red,rgb(255,0,0)  背影颜色

background-image   url图像路径与名称  背景图像

background-repeat  repeat repeat-x repeat-y no-repeat   背景图像是否重复

Background-position center center或x% y%或expos typos 背景图像起始位置

background-attachment   scroll或fixed  设置背景图像是固定还是滚动

background   url(1.jpg) no-repeat center  设置背景的简写形式


CSS属性---边框属性

border  border:1px solid #444444 设置所有边框属性

border-top  设置顶边框

border-right 设置右边框

border-bottom 设置底边框

border-left  设置左边框

边框线型:   -None无  solid实线  dotted点状线  dashed虚线  double双线 groove3D凹槽边框


CSS属性 ---内外边距

padding  padding:5px  0px   同时设置四个边距,顺序:上右下左

padding-top  上填充距离

padding-right 右填充距离

padding-bottom 下填充距离

padding-left  左填充距离

margin   同时设置四个边距,顺序:上右下下左

margin-top 上边距

margin-right 右边距

margin-bottom 下边距

margin-left 左边距


外边距合并,两个垂直外边距相遇形成一个外边距,合并后的外边距的高度等于两个发生合并边距高度中的较大的那一个.

当一个元素包含在另一个元素中时(假设没有内边距或边框把外边距分隔开,它们两个上和下外边距也会发生合并);

注释:只有普通文档流中块框的垂直外边框才会发生外边距合并.行内框,浮动框或绝对定位之间的外边距不会合并;


9.CSS属性  定位属性

position     absolute fixed relative static 规定元素的定位类型

top/right/bottom/left   auto,%,length 设置定位上外边距边界与其包含块上/右/底/左 块边界之间的偏移

display none,block,inline等   规定元素应该生成的框的类型

float     left,right,none  规定框是否应该浮动

clear left,right,both,none  规定元素的那一侧不允许其它浮云元素

overflow  visible,scroll,hidden,auto  当内容溢出元素框时发生的事情

visibility  hidden,visible 规定元素是否可见,即使不可凶元素也会占据页面上的空间

z-index   auto,数值  设置元素的堆叠顺序

cursor  url,pointer,text,wait等   规定要显示的光标的类型(形状)


position定位属性的几种状态

absolute  生成绝对的元素,相对于static定位以外的第一个父元素进行定位.元素的位置通过 "left" "top" "right"以及"bottom"属性进行规定

relative 生成相对定位的元素,相对于其正常位置进行定位.因此"left20"会向元素的LEFT位置添加20像素

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

static 默认值,没有定位,元素出现在正常的文档流中(忽略top,bottom.left,right或者z-index声明)

position属性定义建立元素布局所用的定位机制.任何元素都可以定位,不过绝对成固定元素会生成一个块级框,而不论该元素本身是什么类型.相对定位元素会相对于它在正常流中的默认位置偏移.


相对定位---relative

设置为相对定位的元素会偏移某个距离,元素仍然保持其未定位前的形状态,它原本所占的空间仍保留.注意:在使用相对定位时,无论是进行移动,元素仍然占据原来的空间,因此移动元素会导致它覆盖其它框.


绝对定位  absolute

设置为绝对定位的元素框从文档流完全删除,并相对于其包含块定位,包含块可能是文档中的另一个元素或者是初始包含块.元素原先在正常文档中所占的空间会关闭,就像该元素原来不存在一样.元素定位后生成个块级框,而不论原来它在正常流中生成何种类型的框.

绝对定位使元素的位置与文档流无关,因此不占据空间,与相对定位不同在这里.相对定位实际上被看作普通流定位模型的一部分, 因此元素的位置相对于它在普通流中的位置

绝对定位的元素的位置相对于最近已定位祖先元素,如果元素没有已定位的祖先元素,那么它的位置相对于最初的包含块;  (通俗一点就是相对于最近的基准,如果没有基准,如无那么就相对于最原始包含它的那个元素)

8.显示属性display

none   此元素不会被显示

block  此元素将显示为块级元素,此元素前后会带有换行符

inline  默认,此元素会被显示为内联元素,元素前后没有换行符

inline-block  行内块元素

table   作为块级表格来显示(类似<table>),表格前后带有换行符

inline-table  内联表格来显示(类似<table>),表格前后没有换行符

table-row 此元素会作为一个表格行显示(类似<tr>)

table-cell 作为一个表格单元格显示(类似<td>和<th>)

9.CSS浮动与清理

float    Left,right,none  使元素向左或向右浮动

clear   Left,right,both,none  规定元素的那一侧不允许其它浮动元素

浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动的边框为止.

浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样.

CSS清除浮动

假设希望让一个图片浮动到文本块的左边,并且希望这幅图片与文本包含在另一个具有背景颜色和边框的元素中.

因为浮动元素脱离了文档流,所以包围图片和文本的div不占据空间

如何在让包围元素在视觉上包围浮动元素呢?需要在这个元素中的某个地方应用clear;

10.盒子模型

CSS盒子模型(Box Model)规定了元素处理元素内容,内边距,边框与外边距的方式;

CSS中width与height指的是内容的宽度与高度.增加内边距,边框和外边距不会影响内容区域的尺寸,但是会增加元素框的总尺寸.

大多数浏览器会按照页面设置的DTD来呈现内容,介理IE5.x和6 使用的是非标准模型,它的width不是内容宽度,而是内容内边距与边框的宽度总和;

如何解决:回避,就是不要给元素添加指定宽度的内边距,而是尝试将内边距或外边距添加到元素的父元素和子元素中;


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 193,968评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,682评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,254评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,074评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,964评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,055评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,484评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,170评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,433评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,512评论 2 308
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,296评论 1 325
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,184评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,545评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,150评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,437评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,630评论 2 335

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,703评论 1 92
  • 学习CSS的最佳网站没有之一 http://www.w3school.com.cn/tags/index.asp ...
    Amyyy_阅读 1,002评论 0 1
  • 1.CSS基本概念 1.1 CSS的定义 CSS(Cascading Style Sheets)层叠样式表,主要用...
    寥寥十一阅读 1,793评论 0 6
  • 本文主要是起笔记的作用,内容来自慕课网. 认识CSS样式 CSS全称为“层叠样式表 (Cascading Styl...
    0o冻僵的企鹅o0阅读 2,599评论 0 30
  • 这是一个本身没有任何内涵的标题 和那本书无关 ,与心情无关,与爱情无关,有关的只是想说说,作为第一篇在简书上的文章...
    一无阅读 283评论 0 1