第三部分 web前端之CSS

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


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

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

内联样式:style属性

内部样式:在style标签里写

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

引入外部样式表

(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:[ |]{1,4}    设置边框的四角是平滑的

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

border-image:||  用图像做边框


利用边框画三角形:边框足够大,盒子大小为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: 指定透明度  [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;        不和浮动在一行

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

你可能感兴趣的:(第三部分 web前端之CSS)