第三部分 web前端之CSS

CSS指层叠样式表 ,控制如何显示HTML元素


为什么要用css控制样式?而不直接用属性呢?

同样是设置文本的颜色,元素用的是text属性,元素用的是color属性,而元素根本就没有用于单独设置字体颜色的属性。这意味编程人员实现不同元素里的相同样式,却要通过不同的属性值,这样是很难记住的,所以把样式抽离出来。

内联样式:style属性

内部样式:在style标签里写

外部样式:外部写CSS文件,引入html中(常使用,多个html可能用同个样式,可复用,效率高)

引入外部样式表

<link rel="stylesheet" type="text/css" href="文件名" />(rel表示样式表)

CSS初始化

        相同元素,在不同浏览器下,显示效果不同,通过CSS强制让所有元素的属性值都一样,使得各浏览器显示结果相同(各大网站有不同初始化模板,可查)

css具有层叠性

         当一个Web页面使用多个样式表,多个样式表中的样式可层叠为一个。在多个样式表之间所定义的样式没有冲突的时候,浏览器会显示所有的样式。假如一个html同时有内联样式,内部样式,外部样式的时候而且都对同一个样式进行了设置,执行循序是先执行外部样式,然后是内部样式,最后是内联样式。也就是说内联样式可以覆盖内部样式,内部样式又可以覆盖外部样式


基础语法:选择器+声明

•选择器:决定哪些元素使用这些规则

•声明:由一个或者多个属性/值对组成,用于设置元素的外观表现。

h2{color:orange;background-color:silver;}h2是选择器,大括号里的是声明

声明通过属性:属性值 进行样式声明,每对属性/值应该使用分号与下一对属性/值分开


选择器

1.派生选择器:   元素1元素2 {}     (元素2是元素1里的元素)

2.类选择器元素定义加上class属性 通过.类名{}控制样式,

3.id选择器: 元素定义的时候加上id元素属性通过#id值{}控制样式,

4.元素选择器:元素名{}不常用

5.属性选择器:

(1)[title] { }

(2)属性和值选择器 :[title=W3School]设置所有title="W3School"的元素样式

包含指定值的属性[title~=hello] { color:red;}设置所有title值里面有hello的元素样式

[lang|=en] { color:red; }表示只要这个属性中有lang这个值,这个属性所属元素就被设置样式

当没有类和id时,使用它与元素选择器结合进行选择

注:id,类选择器常结合派生选择器一起使用

6.选择器分组:选择器可以声明为以逗号隔开的元素列表,从而实现选择器分组,以便于将一些相同的规则作用于多个元素。

例:#id值,.className{}对id=id值和class=className的元素同时设置样式

7.伪类选择器

CSS 伪类用于向某些选择器添加特殊的效果

这四种效果的顺序不可变,可以和选择器联用

focus伪类:在元素获得焦点时向元素添加特殊的样式,该伪类应用于有焦点的元素。例如文档中一个有文本输入焦点的输入框,其中出现了文本输入光标;也就是说,在用户开始键入时,文本会输入到这个输入框。

input:focus

{

color:red;

font-size:20pt;

}

在这个例子中,当用户激活文本框,并开始键入时,文本框中的文本会显示为红色,且字体大小为20px


单位

px 像素

em 当前大小的几倍 2em  2倍

百分比 ,整个网页的百分比大小显示


内联与块转化

display:block;  内联--》块

display:inline;   块--》内联


CSS盒模型(块状)

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

none表示什么都没有  transparent表示透明颜色

一、边框

border: 宽 形状 颜色

border-style/border-width/border-color

border/border-top/border-right/border-bottom/border-left

border-radius:[ <length>|<percentage>]{1,4}    设置边框的四角是平滑的

用长度或者百分比设置半径,可单独设置一边

border-image:<border-image-source>||<border-image-slice>  用图像做边框


利用边框画三角形:边框足够大,盒子大小为1PX,一边有颜色,其它为透明


二、外边距margin:块与块之间的距离

margin:10px 20px 20px 20px  顺时针分配

margin: auto auto居中

单边控制外边距:margin-top/margin-left/margin-right/margin-bottom

优先上左的距离


三、内边距(若不设置,文字能撑满整个盒子)

padding: 上  右 下 左

颜色为盒子的颜色


实际的空间(布局空间!)=margin+border+padding+内容区域


margin合并现象

        当两个垂直外边距相遇时,它们将形成一个外边距,这个外边距并非简单相加,而是等于两个发生合并的外边距的高度中的较大者。

注释:请注意,如果不设置 div 的内边距和边框,那么内部 div 的上外边距将与外部 div 的上外边距合并


CSS样式


尺寸

CSS尺寸属性用来控制元素的高度和宽度:

height属性(min-height/max-height):用于设置元素的高度,即元素内容区的高度,在内容区外面可以增加内边距、边框和外边距;

width属性(min-width/max-width):用于设置元素的宽度,即元素内容区的宽度,在内容区外面可以增加内边距、边框和外边距。

overflow属性规定当内容溢出元素框时如何处理,可能的取值为:

visible:内容不会被修剪,会呈现在元素框之外,为默认值

hidden:隐藏溢出内容(内容还存在只是隐藏了)

scroll:溢出内容以滚动条形式显示

auto:如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容


背景

background-color 属性

如果您希望背景色从元素中的文本向外少有延伸,只需增加一些内边距:

p {background-color: gray; padding: 20px;}


background-image:url("文件名")

background-size:对背景图片大小修改,100%图片铺满div

background-position:水平 垂直

小div,大图片,可通过位置改变得到想要的部分图片

background-repeat :  背景图的铺开方式(铺开大小,是否重复等)

background-attachment:背景图片是滚动还是固定(默认滚动) scroll滚动   fixed固定

background-clip:颜色从什么位置开始显示(盒模型的什么位置)

background-origin:图片从什么位置显示(盒模型的什么位置)


颜色

color:字体颜色

opacity: <number>指定透明度  [0.0-1.0]

16进制   #2567

十进制 rgb(12,23,45)

颜色名称


字体 font

font-style 文字类型(normal - 文本正常显示italic - 文本斜体显示  oblique - 文本倾斜显示)

font-weight 文字粗细

font-size 文字大小  (默认16像素(16px=1em) inherit 大小和父类一样)

font-variant 是否转为小写的大写字体

font-family 字体(可设置首选,次选字体)


文本 text

text-align文字对齐方式

text-indent 块级元素(段落)缩进

word-spacing 改变字(单词)之间的标准间隔

letter-spacing  字母间隔修改的是字符或字母之间的间隔

text-transform 文本转换大小写

line-height  行高

white-space 对文字间空白字符处理(默认不识别空白符)

word-wrap  normal可溢出  break-word 内容在边界内换行

一个块可能有很多行,当一个块状元素的高和行高相同,文字在块中居中


text-decoration 文本装饰

none

underline  下划线

overline  上划线

line-through 贯穿线

blink  闪线

应用:可以手动去除超链接的下划线


列表;list

list-style-type:标记的形状

list-style-image : url(xxx.gif)  标志图片

list-style-position标记在文本内还是文本外


表格

table, th, td {border: 1px solid blue;} 设置表格边框

table   {width:100%;}   th{height:50px;}  设置表格的高度和宽度

border-collapse 属性设置是否将表格边框折叠为单一边框:

text-align:水平对齐方式

vertical-align:垂直对齐方式

padding内边距

表格颜色可以通过边框颜色,背景颜色,文本颜色设置

empty-cells:当表格无内容时,是否显示表格边框

border-spacing :单元格左右间距离  单元格上下间距离

     (border-collapse属性为separate值的情况下,也称为边框分离模式)


定位

CSS 有三种基本的定位机制:普通流定位、浮动和绝对定位

普通流定位(相对)和绝对定位

Position定位

position:relative|absolute

relative相对定位,相对原来位置,会和其他块一起移动

absolut绝对定位,相对父元素定位,不影响其它块(left表示距离父元素的左边多少像素)

top/rigt/left/bottom:Xpx

Z-index:当两元素重叠,Z-index大的在上边

clip:修剪尺寸  clip:rect(0px 50px 200px 0px);

visibility:visible|hidden    元素是否可见(不可见的元素也占空间,主要用于想让内容不显示,却又不想把内容删除)


浮动定位

float:left  尽量往左浮

float:right   尽量往右浮

清除浮动   clear:left/right/both;        不和浮动在一行

如果框窄,浮动的东西会被挤到下边

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

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,725评论 1 92
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    wzhiq896阅读 1,730评论 0 2
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    love2013阅读 2,301评论 0 11
  • 1.块级元素和行内元素 块级(block-level)元素;行内(内联、inline-level)元素。 块元素的...
    饥人谷_小侯阅读 1,979评论 1 4
  • 近日,有新闻报道:三兄妹翻墙欲入猛虎区,只因心存侥幸想逃票。 前有八达岭野生动物园、宁波雅戈尔动物园“老虎咬人”事...
    瑞雪兆丰年的片段阅读 190评论 0 1