DIVCSS基础教程.docx
《DIVCSS基础教程.docx》由会员分享,可在线阅读,更多相关《DIVCSS基础教程.docx(31页珍藏版)》请在冰豆网上搜索。
![DIVCSS基础教程.docx](https://file1.bdocx.com/fileroot1/2023-1/21/9c8ac1f7-7ea4-4060-a8a5-daf0d2262fb3/9c8ac1f7-7ea4-4060-a8a5-daf0d2262fb31.gif)
DIVCSS基础教程
DIV+CSS基础教程之CSS背景属性
背景颜色属性(background-color)
这个属性为HTML元素设定背景颜色,相当于HTML中bgcolor属性。
body{background-color:
#99FF00;}
上面的代码表示Body这个HTML元素的背景颜色是翠绿色的。
背景图片属性(background-image)
这个属性为HTML元素设定背景图片,相当于HTML中background属性。
url(../images/css_tutorials/">
上面的代码为Body这个HTML元素设定了一个背景图片。
背景重复属性(background-repeat)
这个属性和background-image属性连在一起使用,决定背景图片是否重复。
如果只设置background-image属性,没设置background-repeat属性,在缺省状态下,图片既横向重复,又竖向重复。
repeat-x背景图片横向重复
repeat-y背景图片竖向重复
no-repeat背景图片不重复
body{background-image:
url(../images/css_tutorials/;background-repeat:
repeat-y}
上面的代码表示图片竖向重复。
背景附着属性(background-attachment)
这个属性和background-image属性连在一起使用,决定图片是跟随内容滚动,还是固定不动。
这个属性有两个值,一个是scroll,一个是fixed。
缺省值是scroll。
body{background-image:
url(../images/css_tutorials/;background-repeat:
no-repeat;background-attachment:
fixed}
上面的代码表示图片固定不动,不随内容滚动而动。
背景位置属性(background-position)
这个属性和background-image属性连在一起使用,决定了背景图片的最初位置。
body{background-image:
url(../images/css_tutorials/;background-repeat:
no-repeat;background-position:
20px60px}
上面的代码表示背景图片的初始位置距离网页最左面20px,距离网页最上面60px。
背景属性(background)
这个属性是设置背景相关属性的一种快捷的综合写法,包括background-color,background-image,background-repeat,backgroundattachment,background-position。
body{background:
#99FF00url(../images/css_tutorials/no-repeatfixed40px100px}
上面的代码表示,网页的背景颜色是翠绿色,背景图片是图片,背景图片不重复显示,背景图片不随内容滚动而动,背景图片距离网页最左面40px,距离网页最上面100px。
DIV+CSS基础教程之CSS常用文本属性
文本对齐属性(text-align)
这个属性用来设定文本的对齐方式。
有以下值:
left(居左,缺省值)
right(居右)
center(居中)
justify(两端对齐)
示例代码如下:
.p2{text-align:
right}
文本修饰属性(text-decoration)
这个属性主要设定文本划线的属性。
有以下值:
none(无,缺省值)
underline (下划线)
overline(上划线)
line-through(当中划线)
示例代码如下:
.p2{text-decoration:
underline}
文本缩进属性(text-indent)
这个属性设定文本首行缩进。
其值有以下设定方法:
length(长度,可以用绝对单位(cm,mm,in,pt, pc)或者相对单位(em,ex,px))
percentage(百分比,相当于父对象宽度的百分比)
示例代码如下:
.p1{text-indent:
8mm}
行高属性(line-height)
这个属性设定每行之间的距离。
其值有以下设定方法:
normal(缺省值)
length(长度,可以用绝对单位(cm,mm,in,pt,pc)或者相对单位(em,ex,px))
percentage(百分比,相当于父对象高度的百分比)
示例代码如下:
.p1{line-height:
1cm}
字间距属性(letter-spacing)
这个属性用来设定字符之间的距离。
normal(缺省值)
length(长度,可以用绝对单位(cm,mm,in,pt,pc)或者相对单位(em,ex,px))
示例代码如下:
.p1{letter-spacing:
3mm}
颜色属性(color)
用颜色属性(color)可以改变文本的字体颜色。
字体颜色代码请参见HTML颜色参考(HTMLColorReference)。
示例代码如下:
.p1{color:
gray}
DIV+CSS基础教程之CSS字体属性
字体名称属性(font-family)
这个属性设定字体名称,如Arial,Tahoma,Courier等。
例句如下:
.s1{font-family:
Arial}
字体大小属性(font-size)
这个属性可以设置字体的大小。
字体大小的设置可以有多种方式,最常用的就是pt和px(pixel)。
例句如下:
.s2{font-size:
16pt}
字体风格属性(font-style)
这个属性有三个值可选:
normal,italic,oblique。
normal是缺省值,italic,oblique都是斜体显示。
例句如下:
.s1{font-sytle:
italic}
字体浓淡属性(font-weight)
这个属性常用值是normal和bold,normal是缺省值。
例句如下:
bold">这段文字字体的浓淡属性(font-weight)值是bold。
字体变量属性(font-variant)
这个属性有两个值,normal和small-caps,normal是缺省值。
small-caps表示小的大写字体。
例句如下:
.s1{font-variant:
small-caps}
字体属性(font)
这个属性是各种字体属性的一种快捷的综合写法。
这个属性可以综合字体风格属性(font-style),字体变量属性(font-variant),字体浓淡属性(font-weight),字体大小属性(font-size)等属性。
例句如下:
.s1{font:
italicnormalbold11ptarial}
字体颜色(color)
字体颜色用CSS中的color属性来表示。
参见CSS常用文本属性。
DIV+CSS基础教程之CSS语法
基本语法
一个样式(Style)的语法由三部分构成:
Selector(中文叫选择器有点怪怪的,就用英文吧),属性(Property),属性值(Value)。
selector{property:
value}
举个例子,下面的代码p就是selector,color就是属性,blue就是属性值。
p{color:
blue}
HTML中所有的Tag都可以作为selector。
注:
如果你想为Style加多个属性,在两个属性之间要用分号加以分隔。
下面的Style就包含2个属性,一个是对齐方式居中,一个字体颜色为红,当中用分号分隔开。
p{text-align:
center;color:
red}
为了提高Style代码的可读性,你也可以分行写:
p
{
text-align:
center;
color:
black;
font-family:
arial
}
组合(Grouping)
你也可以将相同的属性和属性值赋予多个Selector。
Selector之间用逗号分隔。
h1,h2,h3,h4,h5,h6
{
color:
red
}
上面的例子是将所有正文标题(
到)的字体颜色都变成红色。
ClassSelector
利用ClassSelector,你可以用同样的HTMLTag构成不同的样式。
比如说,你希望段落
有两种样式,一种是居中对齐,一种是居右对齐。
你就可以写如下样式:
{text-align:
right}
{text-align:
center}
其中right和center就是两个class。
然后你就可以引用这两个class,示例代码如下:
这一段居中显示。
这一段是居右显示。
你也可以不用HTMLTag,直接用.加上Class名称作为一个Selector。
示例代码如下:
.center{text-align:
center}
这种通用的ClassSelector就没有Tag的局限性,可以用于不同的Tag。
比如:
这个标题居中显示。
这个段落居中显示。
ContextualSelector
你可以为嵌入其它Tag的Tag定义样式,示例代码如下:
p em{color:
red}
Em这个Tag嵌套在P里面。
pem就叫做ContextualSelector,定义嵌套于P里的Em的样式。
这个例子表示,在P里面的用Em这个Tag标记的字体颜色是红色。
CSS注释
为了方便你自己或者他人日后更好地理解你的CSS代码,你可以写CSS代码注释。
CSS代码注释以/*开头,以*/结束。
/* 段落样式*/
p
{
text-align:
center;
/* 居中显示*/
color:
black;
font-family:
arial
}
DIV+CSS基础教程之CSS(CascadingStyleSheets)简介
CSS(CascadingStyleSheets)简介
当初一帮技术人员想出HTML,主要侧重于定义内容,比如
表示一个段落,
表示标题,而并没有过多设计HTML的排版和界面效果。
随着Internet的迅猛发展,HTML被广泛应用,上网的人们当然希望网页做得漂亮些,因此HTML排版和界面效果的局限性日益暴露出来。
为了解决这个问题,人们也走了不少弯路,用了一些不好的方法,比如给HTML增加很多的属性结果将代码变得很臃肿,将文本变成图片,过多利用Table来排版,用空白的图片表示白色的空间等。
直到CSS出现。
CSS可算是网页设计的一个突破,它解决了网页界面排版的难题。
可以这么说,HTML的Tag主要是定义网页的内容(Content),而CSS决定这些网页内容如何显示(Layout)。
CSS的英文是CascadingStyleSheets,中文可以翻译成串联式样式表。
CSS按其位置可以分成三种:
内嵌样式(InlineStyle)
内部样式表(InternalStyleSheet)
外部样式表(ExternalStyleSheet)
内嵌样式(InlineStyle)
InlineStyle是写在Tag里面的。
内嵌样式只对所在的Tag有效。
20pt;color:
red">这个Style定义里面的文字是20pt字体,字体颜色是红色。
显示示例
内部样式表(InternalStyleSheet)
内部样式表是写在HTML的
里面的。
内部样式表只对所在的网页有效。
{border-width:
1;border:
solid;text-align:
center;color:
red}
这个标题使用了Style。
这个标题没有使用Style。
显示示例
内部样式表(InternalSytleSheet)要用到Style这个Tag,写法如下:
......
外部样式表(ExternalStyleSheet)
如果很多网页需要用到同样的样式(Styles),用什么方法呢?
将样式(Styles)写在一个以.css为后缀的CSS文件里,然后在每个需要用到这些样式(Styles)的网页里引用这个CSS文件。
比如可以用文本编辑器(NotePad)建立一个叫home的文件,文件后缀不要用.txt,改成.css。
文件内容如下:
{border-width:
1;border:
solid;text-align:
center;color:
red}
然后你建立一个网页,代码如下:
这个标题使用了Style。
这个标题没有使用Style。
显示示例
使用外部(Extenal)样式表,相对于内嵌(Inline)和内部式(Internal)的,有以下优点:
样式代码可以复用。
一个外部CSS文件,可以被很多网页共用。
便于修改。
如果要修改样式,只需要修改CSS文件,而不需要修改每个网页。
提高网页显示的速度。
如果样式写在网页里,会降低网页显示的速度,如果网页引用一个CSS文件,这个CSS文件多半已经在缓存区(其它网页早已经引用过它),网页显示的速度就比较快。
串联(Cascading)
CSS第一个字母,是Cascading,意为串联。
它是指不同来源的样式(Styles)可以合在一起,形成一种样式。
Cascading的顺序是:
浏览器缺省(browserdefault)(优先级最低)
外部样式表(ExtenalStyleSheet)
内部样式表(InternalStyleSheet)
内嵌样式表(InlineStyle)(优先级最高)
样式(Styles)的优先级依次是内嵌(inline),内部(internal),外部(external),浏览器缺省(browserdefault)。
假设内嵌(Inline)样式中有font-size:
30pt,而内部(Internal)样式中有font-size:
12pt,那么内嵌(Inline)式样式就会覆盖内部(Internal)样式。
CSS教程:
弄懂闭合浮动元素
按照CSS规范,浮动元素(floats)会被移出文档流,不会影响到块状盒子的布局而只会影响内联盒子(通常是文本)的排列。
因此当其高度超出包含容器时,一般父容器不会自动伸长以闭合浮动元素。
但是有时我们却需要这种自动闭合行为,具体如何处理呢?
有一种做法就是在父容器内再插入一个额外的标签,并令其清除浮动(clear)以撑大父容器。
这种方法浏览器兼容性好,没有什么问题,缺点就是需要额外的(而且通常是无语义的)标签,所以我个人不大喜欢。
后来又有了一种新的方式,使用:
after伪类动态的嵌入一个用于清除浮动的元素,这种方法和上一种原理一样,不同的只是把这个额外的内容用CSS生成,但考虑到IE不支持:
after不得不做了不少的hack。
这种方法兼容性一般,但经过各种hack也可以应付不同浏览器了,同时又可以保证html比较干净,所以用得还是比较多的。
再后来又有人发现将父容器的overflow设为除visible之外的值就可以在标准兼容浏览器中闭合浮动元素,IE自然又是不支持的,所以这种方法和上一种方法一样都对IE做了不同处理(具体就是触发layout),不同的就是overflow没有:
after伪类那么麻烦了,缺点也有,overflow可能会产生一些小冲突。
在使用overflow之前还有过一种使用float的方法,就是让父容器也浮动,这利用到了浮动元素的一个特性——浮动元素会闭合浮动元素。
这种方式在IE/Win和标准兼容浏览器中都有较好的效果,但缺点也很明显——父容器未必想浮动就浮动的了,毕竟浮动是一种比较特殊的行为,有时布局不允许其浮动也很正常。
使用float虽然在IE和标准兼容浏览器中都能闭合浮动元素,但原理却是不同的,IE/Win中float触发了layout因而闭合了浮动,而在标准兼容浏览器中,float其实和上一种方法中的overflow原理一样,产生了一个“块级格式化范围”——这是CSS规范中提到的一种现象,它往往具有某种独立性,特性之一就是会自动闭合内部的浮动元素。
按照规范,以下类型的元素会产生一个块级格式化范围:
●浮动元素,left或者right皆可。
●绝对定位的元素。
●inline-block元素,不过这个gecko目前不支持。
●table-cell类型元素,其实table,table-head-group,table-row什么的也都可以,还有inline-table(gecko不支持)也同样,因为他们都会间接产生一个匿名的table-cell。
●overflow取值非visible的元素。
所以,原来在标准兼容浏览器中我们也可以有这么多的方法闭合一个浮动元素,而且只需要CSS,无需其他。
顺带说一下以上除了overflow,其余都有一个附加效果就是自动收缩父容器宽度。
而对于IE/Win,它有一套自己的体系,就是layout,具有layout的元素会自动闭合浮动元素,再来看看触发layout的CSS属性,会发现和上面的块级格式化范围有很多类似之处:
●浮动元素
●绝对定位元素
●display:
inline-block
●zoom
●width/height
●overflow/overflow-x/overflow-y[IE7新增]
●max/min-width/height[IE7新增]
以上来看IE中闭合浮动元素的方法也不少,自然也都有其局限性,要么有附带效果,要么使用的是非标准属性(无法通过验证)。
还要提一点的是display:
inline-block,这个属性对IE而言本身没什么用,实际效果只是给一个元素暗地添加了layout,但是标准兼容浏览器是认得这个属性的,所以要不影响这些浏览器,需要将display设回默认。
这里IE有一个bug,如果先定义了display:
inline-block,然后再将display设回block(这两个display要先后放在两个CSS声明中才有效果),那么layout不会消失,同时也不会影响其他浏览器,所以目前来说,这也算一个不错的触发layout的方法:
.gainlayout{display:
inline-block;}
.gainlayout{display:
block;}
所以要跨浏览器闭合浮动元素,可以选择的方式还是很多的,如何搭配使用这些CSS属性就要具体情况具体分析了,灵活应用条件注释也很有必要,要是实在不行我们回过头来还有clear可以用嘛。
根据分辨率不同调用不同的css文件
--
if"MSIE")>=1)
{
varIE1024="";
varIE800="";
varIE1152="";
varIEother="";
ScreenWidth(IE1024,IE800,IE1152,IEother)
}else{
if"Firefox")>=1)
{
varFirefox1024="";
varFirefox800="";
varFirefox1152="";
varFirefoxother="";
ScreenWidth(Firefox1024,Firefox800,Firefox1152,Firefoxother)
}else{
varOther1024="";
varOther800="";
varOther1152="";
varOtherother="";
ScreenWidth(Other1024,Other800,Other1152,Otherother)
}
}
functionScreenWidth(CSS1,CSS2,CSS3,CSS4){
if(==1024)&&==768)){
setActiveStyleSheet(CSS1);
}else{
if(==800)&&==600)){
setActiveStyleSheet(CSS2);
}else{
if(==1152)&&==864)){
setActiveStyleSheet(CSS3);
}else{
setActiveStyleSheet(CSS4);
}}}
}
functionsetActiveStyleSheet(title){
("link")[0].href="style/"+title;
}
【解释】:
varIE1024="";
varIE800="";
varIE1152="";
varIEother="";
引号里面分别填写,用户使用IE的时候并且分辨率为1024*768,800*600,1152*864要使用的css文件名。
varFirefox1024="";
varFirefox800="";
varFirefox1152="";
varFirefoxother="";
引号里面分别填写,用户使用FF的时候并且分辨率为1024*768,800*600,1152*864要使用的css文件名。
varOther1