我爱编程js_css

CSS总结

2017-11-28  本文已影响47人  苏敏

复习完CSS后总结一下,首先看一下CSS的一个体系结构图:


CSS体系结构图.png

大体上分为这八个部分,参考一下vivijind的css博客和自己的笔记

CSS简介

CSS概述

CSS,cascading style sheet,层叠样式表 ,HTML主要对应页面的内容,CSS主要对应页面的呈现。CSS 描述了在屏幕、纸质、音频等其它媒体上的元素应该如何被渲染的问题。

引入方法

外部样式表:<link rel=”stylesheet” href =”base.css”>,herf里引入外部的css文件
内部样式表:<style></style> (将页面各种元素的设置集中写在<head></head>标签里)
内嵌样式表:<p style=””> 在标签内嵌入,该方法将html和css杂糅在一起, 不利于后期维护

语法

CSS 语法由两个主要的部分构成:选择器,以及一条或多条声明。

image.png
书写建议:

在每条声明的末尾都加上分号;
多重声明时,在每行只描述一个属性,这样可以增强样式定义的可读性
CSS注释方法: /* … */

浏览器私有属性

CSS标准包括w3c的标准,也包括各浏览器厂商的不同标准。标准中各个属性也要经历从草案(WD)到推荐(REC)的过程,css3中的属性进展都不一样。浏览器厂商在标准尚未明确情况下提前支持会有风险,同时也会出现有的浏览器厂商支持的好,有的支持的不好,所以就用厂商前缀加以区分。

chrome,safari

firefox

IE

opera

.pic{
    -webkit-transform:rotate(-3deg);
    -moz-transform:rotate(-3deg);
    -ms-transform:rotate(-3deg);
    -o-transform:rotate(-3deg);
    transform:rotate(-3deg);
}

属性值语法

基本元素(关键字,类型、符号、inherit,initial(隐藏))

取值方法:

组合符号

数量符号

@规则语法

@规则以一个关键词@开始,紧跟在后的是一个标识符。
格式:@ 标识符 xxx; @ 标识符 xxx {}
常用标识符:

常用标识符.png

CSS选择器

在CSS中,选择器是一种模式,用于选择需要添加样式的元素。具体见:CSS选择器同时,需要注意的是,不同浏览器对选择器的支持不一样。
选择器兼容性说明:本节中所讲的选择器,主流的浏览器基本都支持,IE低版本有较多的兼容问题,具体可查看该页面

简单选择器

继承

子元素会继承父元素的样式,但是我们显示运用inherited可以把非继承变成继承

CSS优先级

计算方法

CSS层叠

CSS改变优先级

盒模型

CSS盒模型简介(W3C标准)

CSS盒模型.png

Content

Padding

padding: [<length> | <percentage>] {1,4} | inherit

Margin

margin: [<length> | <percentage> | auto] {1,4} | inherit

在CSS中margin是指从自身边框到另一个容器边框之间的距离,就是容器外距离。在CSS中padding是指自身边框到自身内部另一个容器边框之间的距离,就是容器内距离。

margin.png

margin合并问题,详见 MDN 外边距合并

Border

边框 border: [<border-width> || <border-style> || <border-color>] | inherit

border-radius

圆角 border-radius: [<length>|<percentage>]{1,4}[/[<length>|percentage>]{1,4}]?

overflow

防止盒子内容超出 overflow: visible | hidden | scroll | auto


overflow.png

box-sizing

盒子大小box-sizing: content-box | border-box | inherit
指定当前属性是哪个区域的宽高(设置width、height指定的区域)

个人感觉IE盒模型比W3C的标准盒模型好用也方便...

box-shadow

盒阴影box-shadow: none | <shadow>[,<shadow>]*


box-shadow.png

outline

轮廓 outline: [<outline-width> || <outline-style> || <outline-color>] | inherit

文本

字体

字体大小

字体类型

font-family: [<family-name>|<generic-family>]#

粗体

斜体(字体风格)

行高

line-height : normal | <number> | <length> | <percentage> 行的高度(行间距)

小型大写字母的字体

font-variant: small-caps (小的大写字母)

font缩写

font:[[<font-style>||<font-variant>||<font-weight>||<font-stretch>]? <font-size> [/<line-height>]? <font-family> ] | caption | icon | menu | message-box | small-caption | status-bar

颜色

对齐

水平对齐

text-align: left | right | center | justify(两端对齐)

垂直对齐

vertical-align: baseline(默认值,基线) | sub(下标) | super(上标) | top(当前这一行的最高点) | text-top(文本的最高点) | middle(居中) | bottom(当前这一行的最低点) | text-bottom(文字的最低点) | <percentage>(相对于行高) | <length>(以baseline为起点,走..px)

缩进

text-indent: <length>|<percentage>(参照物为容器的宽度)

空格、换行

white-space: normal | nowrap | pre | pre-wrap | pre-line

间距

变形

text-transfrom:uppercase(大写)\lowercase(小写)\capitalize(首字母大写) 变形

标注

效果

阴影

text-shadow: none | [<length>{2,3} && <color>?] #

文本溢出

文字省略… 样式: text-overflow: clip | ellipsis

光标

cursor : [<uri>,]*(可以自定义图片) [auto | default(普通光标,普通鼠标形状) | none(消失) | help(问号) | pointer(手型) | zoom-in(放大镜) | zoom-out(缩小镜) | move(两边上下的箭头) ]

轮廓

强制继承的属性

inherit.png

CSS布局

常见的CSS布局有:水平垂直居中、多列、全屏、响应式等等。这么多布局,我们是不是要一个一个记下来呢?其实万变不离其中,需要搞清楚的是在布局中起作用的css属性的每个特性,然后按照特性来对布局进行分配就能解决一大部分情况了。
在对CSS进行布局时,首先将问题分解,然后考虑每一个特性怎么实现,最后结合整理形成最终的布局。
下面我们对布局中一些常见的问题来进行具体的分析。

基本布局元素

display

块级元素 display:block
常用的块级元素有: div、p、form、header、footer、section、h1~h6、ul等
块级元素的特性:

行内元素display: inline

常用的行内元素有:span、a、label、cite、em等行内元素的特性:

结合块级和行内元素 display:inline-block

常用的inline-block元素有:input、textarea、select、button等
inline-block元素特性:

display:table

指定对象作为块元素级的表格,类同于html标签table

display: table-cell

指定对象作为表格单元格。类同于html标签td

display: none vs visibility:hidden

display: none不删除元素的情况下隐藏或显示元素,不会保留元素本该显示的空间
visibility:hidden: 保留元素本来该显示的空间

position定位

优点:绝对定位脱离文档流,子元素不会对其他元素产生影响
缺点:

static

static 是默认值。任意 position: static; 的元素不会被特殊的定位。一个 static 元素表示它不会被“positioned”,一个 position 属性被设置为其他值的元素表示它会被“positioned”。

relative

absolute

fixed

float浮动

flex

弹性布局,设置或检索弹性盒模型对象的子元素如何分配空间。
这个属性很好用,就是存在兼容性问题。

水平垂直排列

水平排列

实现有三种方式,一种是元素为行内元素,一种是定位布局,另一种是弹性布局。

未完待续~~

上一篇 下一篇

猜你喜欢

热点阅读