XHTML1.0对HTML4.0的改进

  1. 借鉴了XML的写法,语法更加严格。
  2. 把页面的内容和样式分离了,废弃了html4中的表示样式的标签和属性。推荐使用css来描述页面的样式。

CSS样式的优先级

!important>内联样式>内部/外部样式>浏览器预定义样式

内部外部样式:#id>类选择器>元素选择器

内联样式要尽量少用;内部样式可以适量的使用,例如如果只有一个页面使用样式的情况下就没必要专门做一个外部样式;推荐使用外部样式,但是也不要太多,否则头重脚轻,显示页面的时候可能出现先出现样式而内容半天不出现的情况。同时外部文件不要太多,否则发送请求过多,可以放在一个大文件里但不要有太多小文件。

使用CSS3要考虑兼容性的问题,尤其是IE。

内部/外部CSS:

选择器{/*该样式的作用*/

属性名:属性值;

属性名:属性值;

}

这个会经常用到:

<style>

*{/*所有元素间距和填充都为0*/

margin:0;

padding:0;

}

</style>

  1. 通用选择器:*{…}选择页面中的所有元素
  2. 元素选择器:元素名{…}选择指定的元素 如div{…}
  3. ID选择器:#ID值{…}仅选择具有指定id的元素 如#p{…}
  4. 类别选择器:.类名{…}选择具有指定class的所有元素 如.mark{…}
  5. 并列/过滤选择器:选择器1选择器2{…}选择可被两个选择器同时选定的元素 如p.mark{…}或 .product.mark{…}
  6. 父子选择器:选择器1 选择器2{…}选择可被选择器1选择的元素下的所有子元素中可被选择器2选中的元素 如div span{…}      .product .mark{…}
  7. 直接子元素选择器 选择器 1>选择器 2{…} 选中选择器1中的直接子元素中可被选择器2选中的 如div>span{…} IE6不支持
  8. 多选选择器:选择器1,选择器2,…选择器n{…} 选择可被任何一个选择器选中的元素 h2,#main,.mark{…}
  9. 伪类选择器: :伪类名{…}

a:link{…}   选择所有未访问过的超链接

a:visited{…}   选择所有访问过的超链接

元素:hover{…}   当鼠标悬停于元素上方时   ie6只支持a:hover

元素:active{…}   当元素被激活时

input:foucs{…}   当元素获得输入焦点   ie7前都不支持

#p2{/*#代表id值,如果想把body中某个段落设样式,那么就赋予id值,然后用选择器来指定样式*/

}

div span{/*意思是div下的所有span子元素*/}

div .mark{/*意思是div下的class里的.mark*/}父子选择器

CSS中的尺寸

相对尺寸:

%:所占父元素的百分比 如div(width:50%;)

px:像素,指屏幕上的一个点 如div(width:500px;)

em:倍率,表示标准字体大小的倍率 如div(height:3em;)

绝对尺寸:在屏幕上使用的web页面尺寸几乎不用绝对尺寸

cm:厘米

mm:毫米

in:英寸

pt:磅(72磅=1英寸)

CSS中的颜色

(1)       英文字符表示 如red green silver

RGB表示法

(2)       三位整数 rgb(xxx,xxx,xxx)   如span{color;rgb(255,0,0);}

(3)       三位百分比 rgb(xx%,xx%,xx%)  如span{color:rgb(30%,50%,0%);}

(4)       六位十六进制数 #XXXXXX  如span{color;#FF0000;}

(5)       三位十六进制数 #XXX   如span{color:#FF0;}

色系:原色是以以一定比例调配出其他颜色的颜色。加色系是本身不发光,但是越加颜色越亮,最终会变为白色。减色系则是本身发光,越加颜色越暗,最终变为黑色。

255,0,0 红色

0,255,0 绿色

0,0,255 蓝色

0,0,0 黑色

255,255,255 白色

10,10,10 深灰色

200,200,200 浅灰色

0,255,255 青色,红色的互补色

255,0,255 品红色,绿色的互补色

255,255,0 黄色,蓝色的互补色

230,180,10 土黄色

200,,230,190

和谐色:

180 240 50

240 180 50

180 50 240

240 50 180

50 240 180

50 180 240

CSS常用属性(重点)

属性名

含义

可取值

版本/兼容

width

指定元素的宽

block元素才能指定/IMG/TABLE

% px em

1

height

元素的高

block元素才能指定/IMG/TABLE

% px em

1

min-width

定义元素的最小宽

2

max-width

定义元素的最大宽

2

min-height

定义元素的最小高

2

max-height

定义元素的最大高

2

overflow

如何处理溢出的内容

hidden隐藏

visible可见

scroll 滚动

auto 自动

2

border-width

宽度

可用“上右下左”顺序指定4个值

border-style

样式

可用“上右下左”顺序指定4个值

none solid double dotted dashed groove ridge inset outset

border-color

颜色

可用“上右下左”顺序指定4个值

可以用transparent表示透明色

border

样式的集合:

占用页面空间

宽度 样式 颜色

CSS2

outline

外轮廓

不占元素空间

颜色 样式 宽度

border-radius

边框半径,绘制圆角边框

可取四/三/二/一个值、百分比

CSS3/IE9+

box-shadow

边框投影,不占页面空间

h必需

v必需

值:可选,模糊半径

值:可选,扩展半径

color必需

inset:可选,内投影

CSS3/IE9+

border-image-source

border-image-width

border-image-repeat

border-image

使用图片做边框

source:url(xx.png)

width:边框宽/九宫格格宽

repeat:

stretch/repeat/round

CSS3/注意Safari的兼容性问题

padding-left

padding-right

padding-top

padding-bottom

padding

上右下左

10px;

10px 30px;

10px 30px 50px;

10px 30px 50px 70px;

margin-left/right/top/bottom

margin

上右下左

background-color

设置元素背景颜色:内容+填充+边框,但是没有间距

background-image

背景图片

url(xx.png)

background-repeat

repeat平铺

no-repeat不平铺

repeat-x水平方向平铺

repeat-y竖直方向平铺

background-position

背景图的位置(如果所有需要用的图标都在一张图上,就需要使用背景坐标的截取方式来使需要的部位显示)

right bottom右下显示

center center居中显示

80px 70px

background-attachment

背景滚动方式

scroll:背景随内容滚动

fixed:背景固定不动(显示背景图一直停留不随滚动条而动)

background

color背景颜色 url()背景图位置 repeat 是否重复attachment滚动方式position位置(都有前后顺序)

CSS1

background-image

凡是能使用背景图片的地方都可以使用渐变做背景

linear-gradient线性渐变

radial-gradient径向渐变

repeating-linear-gradient重复线性渐变

repeating-radial-gradient重复径向渐变

CSS里用“-”减号风格,JS里用“BorderWidth”驼峰风格

重点:CSS盒子模型---重点

一个区块元素所占的空间总大小:

X轴:margin-left(左边两个区块之间的空白区域也叫间距)+border-left(左边框,橙色的区域)+padding-left(左填充,灰色的区域)+width(元素的宽)+padding-right(右填充)+border-left(右边框)+margin-right(右间距)

Y轴:margin-top(上间距)+border-top(上边框)+padding-top(上填充)+height(元素的高)+padding-bottom(下填充)+border-bottom(下边框)+margin-bottom(下间距)

两个相邻元素若都指定了间距,那么间距会进行合并,合并后的值并不是两个间距之和,而是二者指定的间距中最大的那个值。但是float浮动会对间距的合并产生影响。

outline、box-shadow不会占用页面空间,故也不计入盒子模型的计算。

区块若想在父元素中水平居中,需要设置外间距,margin:0px auto;   由浏览器自动计算左右间距,浏览器会平均分配。

为了屏蔽浏览器默认值造成的兼容性问题,页面布局时可以添加*{margin:0; padding:0}

linear-gradient(angle,color-point1,color-point2,….)

angle:为第一个参数,指定渐变的方向,可以是角度值,也可以是关键词,如to top(对应0deg),to right(对应90deg),to bottom(对应180deg),to left(对应270deg)

color-point:表示颜色的起始点、中间点或者结束点,取值为颜色和位置的组合,如red 0%、green 50%

区块元素:

无浮动:竖直方向上排布,相邻元素的margin会合并,padding各自独立。

浮动之后:padding各自独立:竖直/水平方向margin上都各自独立。

内联元素:水平方向上排布,一行不够自动排布到下一行。

margin:水平方向的各自独立,不合并,竖直方向上无效。(span不能指定margin属性,也就是间距。)

padding:水平方向上各自独立;竖直方向上有效,但不占用页面空间(即上下两行的padding可能会重叠)

Margin X

Margin Y

Padding X

Padding Y

BLOCK不浮动

占用空间

占用空间、会合并

占用空间

占用空间

BLOCK浮动

占用空间、不合并

占用空间、不合并

占空间

占空间

INLINE

占用空间、不合并

无效

占空间

有效、不占空间(重叠)

加上display:inline-block,那么内联元素中的margin,其上下大小就可更改有效。

元素的定位

  1. 流/静态定位:默认 position:static;   不能指定位置
  2. 浮动定位:float:left/right;     不能严格的指定位置
  3. 相对定位:position:relative;     使用left/top/right/bottom进行定位,仍占用页面空间;以“其自己的静态定位点”为定位原点
  4. 绝对定位:position:absolute;     使用left/top/right/bottom进行定位,不占用页面空间;以“最近的已定位的祖先元素的padding起点”为定位原点,且随着页面内容的滚动而滚动。
  5. 固定定位:position:fixed;     使用left/top/right/bottom进行定位,不占用页面空间;以“body”为定位原点,且不随着页面内容的滚动而滚动。

CSS复杂选择器

复杂选择器的使用可以减少页面中的id和class的出现频率;使用jQuery可以兼容所有下属复杂选择器。

复杂选择器

示例

含义

版本/兼容性

选1 选2

div li{…}

子代选择器

1

选1>选2

div>ul{…}

直接子代选择器

2

选1+选2

input+span(…)

相邻兄弟选择器;选择紧挨的下一个兄弟元素(选中0/1个)

2/ie6-不支持

选1~选2

div~span{…}

通用兄弟选择器;匹配选择器1的兄弟元素中匹配选择器2的元素。(并非紧邻,而是同个父元素之后紧挨或不紧挨的所有选择器2)

3

注意:div后的span兄弟会选定,之前的不会。

[属性名]

[href]

选择具有指定HTML属性的元素

2

[属性名=属性值]

[type=”text”]

匹配具有指定属性且属性值为指定值

2

[属性名~=属性值]

[class~=strong]

匹配具有指定的属性且属性值中包含指定的完整的单词(不是单词不行)

3

[属性名*=属性值]

[class*=str]

匹配具有指定的属性且属性值中包含指定的字母组合(不必是完整的单词)

3

[属性名^=属性值]

[class^=str]

匹配具有指定的属性且属性值以指定的字母开头

3

[属性名$=属性值]

[class^=str]

匹配具有指定的属性且属性值以指定的字母结尾

3

[属性名|=属性值]

匹配具有指定的属性且属性值以指定的完整的单词开头(要么只有它,要么其后有-小减号)

3

:target

:target{}

div:target{}

目标伪类选择器;选定当前锚点的目标元素

IE8-不支持

:first-child

span:first-child{}

div  :first-child{}

匹配父元素中的第一个子元素(必须是标签,纯文本不算)

:last-child

p:last-child{}

div  :last-child{}

匹配作为父元素中最后一个子元素出现的元素

:onlt-child

p:only-child{}

匹配作为父元素中唯一子元素出现的元素

:empty

div:empty{display:none;}

匹配没有子元素且没有任何文本内容的元素

:not(选1)

div:not(.strong){}

span:not([class=content])

否定选择器;匹配不被选贼器1选定的元素

::selection

::selection{}

匹配一段文字中被选择部分

说明:       :xxx  伪类选择器       ::xxx伪元素选择器

内容生成选择器

XHTML规定:页面内容交给标签来处理;页面表现交给CSS来处理。

但CSS3有些“内容生产”选择器不单单可以呈现样式,还可以向页面中添加内容。

选择器1:before{

content:纯文本/图像/计数器;

}

选择器2:after{

content: 纯文本/图像/计数器;

}

content属性必须配合::before/:after选择器使用。

与内容多列显示相关的CSS样式

column-count:竖直方向上列的数量

column-gap:内容列与列间距

column-style:集合属性   width style color

注意浏览器的兼容性:

IE11直接使用上述属性

FF添加-moz-前缀

Chrome/Safari/Opera 添加-webkit-前缀

转载于:https://www.cnblogs.com/yiningfamily/p/4907744.html

2015年10月22日CSS学习笔记相关推荐

  1. 分享Silverlight/WPF/Windows Phone一周学习导读(10月16日-10月22日)

    分享Silverlight/WPF/Windows Phone一周学习导读(10月16日-10月22日) 本周Silverlight学习资源更新 Silverlight:分包下载及SEO优化方案 菩提 ...

  2. 传智播客 刘意_2015年Java基础视频-深入浅出精华版 笔记(2015年10月25日23:28:50)

    day01 win 7系统打开DOS有趣方法:按住shift+右键,单击"在此处打开命令窗口"(注意:在此处可以是任何的文件夹,不一定是桌面) 用DOS删除的文件不可以在回收站恢复 ...

  3. 2015年10月15日项目经理中项作业(质量管理与人力资源管理)

    2015年10月15日作业(10.11章) 10章.质量管理: 1.项目质量规划的方法/技术和工具,并简要描述: 效益/成本分析 基准比较 流程图 实验设计 质量成本分析 质量功能展开(QFD) 过程 ...

  4. 墨魂服务器维修,2013年10月22日定期维护公告

    亲爱的玩家朋友: 为保证服务器的运行稳定和服务质量,<梦幻西游2>所有服务器将于2013年10月22日上午8:00停机,进行每周例行的维护工作.预计维护时间为上午8:00-9:00.如果在 ...

  5. 【历史上的今天】10 月 22 日:微软发布 Windows 7;谷歌推出广告平台;静电复印机雏形

    整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来. 今天是 2022 年 10 月 22 日,在 1994 年的今天,中国公用数字数据网(CHINADDN)正式建成开通,为如 ...

  6. 技术论坛 | 10月22日在微软:“行业知识图谱+ ”论坛通知

    大数据创新学习中心 <国务院新一代人工智能发展规划>的"跨媒体分析推理技术"强调"重点突破跨媒体统一表征.关联理解与知识挖掘.知识图谱构建与学习.知识演化与推 ...

  7. 今天4.22手机服务器维护吗,2015年4月22日维护公告

    亲爱的玩家朋友: 为保证服务器的运行稳定和服务质量,<梦幻西游>手游所有服务器将于2015年4月22日8:00停机,进行维护工作.预计维护时间为8:00-8:30.如果在预定时间内无法完成 ...

  8. 2019年10月22日AWS SAP-C01 大捷战报

    标题用了大捷,900+分,算么?哈哈 经过自己的持续学习.不懈的努力于2019年10月22日北京拿下AWS SAP-C01 认证,在完成考试后看到屏幕上PASS的那一刻,在辛苦感觉也值得.哭泣 早上考 ...

  9. 2015年10月15日作业

    2015年10月15日作业 中级学员---徐化栋 一.项目质量管理作业 1. 项目质量规划的方法/技术和工具,并简要描述: 1) 效益/成本分析 2) 基准比较 3) 流程图 4) 实验设计 5) 质 ...

最新文章

  1. Codeforces Round #181 (Div. 2) C. Beautiful Numbers 排列组合 暴力
  2. [翻译] NSRegexTester
  3. javascript高级程序设计第3版——第6章 面向对象的程序设计
  4. 2017蓝桥杯:承压计算
  5. 小余学调度:学习记录(2021.8.30-2021-9.5)
  6. OpenGL绘制二个不同颜色的三角形的实例
  7. 2014-12-27 迎接15年前夕,原来时间是这样过的
  8. C#异常解决:在调用OLE之前,必须将当前线程设置为单线程单单元(STA)模式。
  9. 游侠联机显示无法链接服务器,我的世界用游侠联机时连接不上
  10. android过滤html标签,Android中处理TextView带超链接HTML标签的点击事件处理方法
  11. jeecg输入中文查询导表为空_学术利器—SCI期刊影响因子查询/中文核心期刊查询系统更新...
  12. c 用户控件 多语言,多语言文本控件重叠解决方案
  13. 【Flink】Flink kafka producer 分区策略 (flink写入数据不均匀 与 数据写入 分区无数据 )
  14. MySQL在并发场景下的问题及解决思路
  15. php打开retmsg,PHP截取发动短信内容的方法
  16. 分仓软件是什么?资管分仓的作用
  17. CAN学习笔记二:OSEK NM 学习
  18. PMBOK(第六版) PMP笔记——《第十二章 项目采购管理》
  19. 网络操作系统项目教程----Windows server 2003篇----打印机安装与配置
  20. java借助Acrobat实现pdf转word

热门文章

  1. 记一次数据库视图建立
  2. easyUI -datagrid表格数据不显示
  3. B2B2C商城技术路线(一)
  4. 东莞1号线广东医科大学站进入深基坑土方开挖
  5. 开发运营必看,跳出雷区必须知道的微信小程序平台运营规范
  6. 一份平民化的应用性能优化CheckList(完整篇)
  7. Sqlserver 事务与锁
  8. 业界:苹果软件更新不会改变世界,但带来了更多新鲜感
  9. RV1108 EMMC 程序下载失败原因分析
  10. 黑窗口,模式下登录oracle