首页 web前端 html教程 2015年10月22日CSS学习笔记_html/css_WEB-ITnose

2015年10月22日CSS学习笔记_html/css_WEB-ITnose

Jun 24, 2016 am 11:34 AM

XHTML1.0对HTML4.0的改进

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

 

CSS样式的优先级

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

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

 

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

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

 

内部/外部CSS:

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

属性名:属性值;

属性名:属性值;

}

这个会经常用到:

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

margin:0;

padding:0;

}

 

  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-前缀

 

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1663
14
CakePHP 教程
1420
52
Laravel 教程
1313
25
PHP教程
1266
29
C# 教程
1238
24
了解HTML,CSS和JavaScript:初学者指南 了解HTML,CSS和JavaScript:初学者指南 Apr 12, 2025 am 12:02 AM

WebDevelovermentReliesonHtml,CSS和JavaScript:1)HTMLStructuresContent,2)CSSStyleSIT和3)JavaScriptAddSstractivity,形成thebasisofmodernWebemodernWebExexperiences。

HTML,CSS和JavaScript的角色:核心职责 HTML,CSS和JavaScript的角色:核心职责 Apr 08, 2025 pm 07:05 PM

HTML定义网页结构,CSS负责样式和布局,JavaScript赋予动态交互。三者在网页开发中各司其职,共同构建丰富多彩的网站。

HTML,CSS和JavaScript:Web开发人员的基本工具 HTML,CSS和JavaScript:Web开发人员的基本工具 Apr 09, 2025 am 12:12 AM

HTML、CSS和JavaScript是Web开发的三大支柱。1.HTML定义网页结构,使用标签如、等。2.CSS控制网页样式,使用选择器和属性如color、font-size等。3.JavaScript实现动态效果和交互,通过事件监听和DOM操作。

HTML:结构,CSS:样式,JavaScript:行为 HTML:结构,CSS:样式,JavaScript:行为 Apr 18, 2025 am 12:09 AM

HTML、CSS和JavaScript在Web开发中的作用分别是:1.HTML定义网页结构,2.CSS控制网页样式,3.JavaScript添加动态行为。它们共同构建了现代网站的框架、美观和交互性。

HTML的未来:网络设计的发展和趋势 HTML的未来:网络设计的发展和趋势 Apr 17, 2025 am 12:12 AM

HTML的未来充满了无限可能。1)新功能和标准将包括更多的语义化标签和WebComponents的普及。2)网页设计趋势将继续向响应式和无障碍设计发展。3)性能优化将通过响应式图片加载和延迟加载技术提升用户体验。

HTML,CSS和JavaScript的未来:网络开发趋势 HTML,CSS和JavaScript的未来:网络开发趋势 Apr 19, 2025 am 12:02 AM

HTML的未来趋势是语义化和Web组件,CSS的未来趋势是CSS-in-JS和CSSHoudini,JavaScript的未来趋势是WebAssembly和Serverless。1.HTML的语义化提高可访问性和SEO效果,Web组件提升开发效率但需注意浏览器兼容性。2.CSS-in-JS增强样式管理灵活性但可能增大文件体积,CSSHoudini允许直接操作CSS渲染。3.WebAssembly优化浏览器应用性能但学习曲线陡,Serverless简化开发但需优化冷启动问题。

HTML与CSS vs. JavaScript:比较概述 HTML与CSS vs. JavaScript:比较概述 Apr 16, 2025 am 12:04 AM

HTML、CSS和JavaScript在网页开发中的角色分别是:HTML负责内容结构,CSS负责样式,JavaScript负责动态行为。1.HTML通过标签定义网页结构和内容,确保语义化。2.CSS通过选择器和属性控制网页样式,使其美观易读。3.JavaScript通过脚本控制网页行为,实现动态和交互功能。

HTML:建立网页的结构 HTML:建立网页的结构 Apr 14, 2025 am 12:14 AM

HTML是构建网页结构的基石。1.HTML定义内容结构和语义,使用、、等标签。2.提供语义化标记,如、、等,提升SEO效果。3.通过标签实现用户交互,需注意表单验证。4.使用、等高级元素结合JavaScript实现动态效果。5.常见错误包括标签未闭合和属性值未加引号,需使用验证工具。6.优化策略包括减少HTTP请求、压缩HTML、使用语义化标签等。

See all articles