基本结构标签:,表示该文件为HTML文件
其它主要标签,以下所有标志用在
,分段标志,采用黑体字,采用斜体字
属性:属性是用来修饰标志的,属性放在开始标志内.例:属性bgcolor="BLACK"表示背景色为黑色.引用属性的例子:
常用属性:对齐属性,范围属性:ALIGN=LEFT,左对齐(缺省值),WIDTH=象素值或百分比,对象宽度.ALIGN=CENTER,居中,HEIGHT=象素值或百分比,对象高度.ALIGN=RIGHT,右对齐.色彩属性:COLOR=#RRGGBB,前景色,参考色彩对照表.BGCOLOR=#RRGGBB,背景色.
强制换行文本标识的开始和结束属性:face=字体color=颜色加粗文字标识的开始和结束属性:style=font-size:40pt;,用样式表方式控制字体大小,这里是40点
段落标识, 空格符,贴图标识属性:src=../../图片链接地址,贴图标识必备属性style=filter:Alpha(opacity=100,style=2);filter:样式表滤镜;Alpha:透明滤镜,opacity:不透明度100(0~100);style:样式2(0~3),rules="none"不显示内框"多媒体文件标识属性:SRC="../../FILENAME",设定音乐文件的路径,文件类型除了可以播放.rm;.mp3;.wav等音频,还可播放.swf和.mov等视频.AUTOSTART=TRUE/FALSE,是否要音乐文件传送完就自动播放,TRUE是要,FALSE是不要,默认为FALSELOOP=,设定播放重复次数,LOOP=6表示重复6次,true或-1为无限循环,false为播放一次即停止.STARTIME="分:秒",设定乐曲的开始播放时间,如20秒后播放写为STARTIME=00:20VOLUME=0-100,设定音量的大小.如果没设定的话,就用系统的音量.WIDTH,HEIGHT,设定控制面板的大小,都设为0可隐藏播放器HIDDEN=TRUE,隐藏控制面板CONTROLS=CONSOLE/SMALLCONSOLE,设定控制面板的样子,,背景音乐标识,只能用于.wav和.mp3格式.属性:LOOP=,设定播放重复次数,LOOP=6表示重复6次,true或-1为无限循环,false为播放一次即停止.
表单标签:
框架标签:
其他标签:,背景音乐;Src=""Loop="",循环次数;,媒体播放块;Src=""Loop="",循环次数;,滚动部分;属性:Bgcolor=""Behavior,设置或获取文本如何在字幕中滚动.Direction="",滚动方向;Height=""Width=""Loop="",环次数;scrollAmount="",设置或获取介于每个字幕绘制序列之间的文本滚动像素数.scrollDelay="",设置或获取字幕滚动的速度.scrollHeight="",获取对象的滚动高度;scrollLeft="",设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离.scrollTop="",设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离.trueSpeed="",设置或获取字幕的位置是否使用scrollDelay和scrollAmount属性计算,已过的实际时间来自于时钟计时.
,注释标记,在""之间的内容将不在浏览器中显示.
--
基本标签:,创建一个HTML文档;
格式标签:
,将段落按左、中、右对齐;,换行,插入一个回车换行符;
链接标签:,创建超文本链接;,创建自动发送电子邮件的链接;,创建位于文档内部的书签;,创建指向位于文档内部书签的链接;,文档中不能被该站点辨识的其它所有链接源的URL;,定义一个链接和源之间的相互关系;
链接标签注解:target="...",决定链接源在什么地方显示(用户自定义的名字,_blank,_parent,_self,_top);rel="...",发送链接的类型;rev="...",保存链接的类型;accesskey="...",指定该元素的热键;shape="...",允许我们使用已定义的形状定义客户端的图形镜像(default,rect,circle,poly);coord="...",使用像素或者长度百分比来定义形状的尺寸;tabindex="...",使用定义过的tabindex元素设置在各个元素之间的焦点获取顺序(使用tab键使元素获得焦点).
表格标签:
表单标签注解:type="...",用于输入控件的类型(text,password,checkbox,radio,submit,reset,file,hidden,image,button);name="...",控件的控制名(要求是除了submit和reset之外的任何名字);value="...",控件的初始值;checked="...",把一个单选钮设置为选中的状态;disabled="...",把控件的状态设置为不能使用;readonly="...",只对输入密码的文本框使用;size="...",表示以像素为单位的除了文本框和密码框控件之外的其它控件的宽度,它是用来指定字符的数目;src="...",一个图像控件的URL;maxlength="...",指定可以输入的最多的字符数目;alt="...",另外一种文本描述;usemap="...",到客户端图形镜像的URL;align="...",被反对.控制对齐方式(left,,center,,right,,justify);tabindex="...",通过定义的tabindex值确定在不同元素之间获得焦点的顺序;οnfοcus="...",当元素获得焦点时发生的事件;οnblur="...",当元素失去焦点时发生的事件;οnselect="...",当元素被选中时发生的事件;onchang="...",当元素状态被改变时发生的事件;accept="...",允许上载的文件类型.
帧标签(框架标签):
文档整体属性标签:
方法1:
1
img{display:block;}
方法2:
img{vertical-align:top;}
除了top值,还可以设置为text-top | middle | bottom | text-bottom,甚至特定的和值都可以
方法3:
#test{font-size:0;line-height:0;}
#test为img的父元素
方法:
input{vertical-align:middle;}
#test{height:25px;line-height:25px;}
只需设置文本的行高等于容器的高度即可
2
3
4
a:link{color:#03c;}
a:visited{color:#666;}
a:hover{color:#f30;}
a:active{color:#c30;}
按L-V-H-A的顺序设置超链接样式即可,可速记为LoVe(喜欢)HAte(讨厌)
5
6
7
8
9
10
html{
scrollbar-3dlight-color:#999;
scrollbar-darkshadow-color:#999;
scrollbar-highlight-color:#fff;
scrollbar-shadow-color:#eee;
scrollbar-arrow-color:#000;
scrollbar-face-color:#ddd;
scrollbar-track-color:#eee;
scrollbar-base-color:#ddd;
}
将原来设置在body上的滚动条颜色样式定义到html标签选择符上即可
#test{width:150px;white-space:nowrap;}
设置容器的宽度和white-space为nowrap即可,其效果类似标签
方法(此方法Firefox5.0尚不支持):
#test{width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
首先需设置将文本强制在一行内显示,然后将溢出的文本通过overflow:hidden截断,并以text-overflow:ellipsis方式将截断的文本显示为省略号。
#test{width:150px;word-wrap:break-word;}
word-wrap的break-word值允许单词内换行
#test{clear:both;}
#test为浮动元素的下一个兄弟元素
#test{display:block;zoom:1;overflow:hidden;}
#test为浮动元素的父元素。zoom:1也可以替换为固定的width或height
#test{zoom:1;}
#test:after{display:block;clear:both;visibility:hidden;height:0;content:'';}
#test为浮动元素的父元素
#test{cursor:pointer;}
若将cursor设置为hand,将只有IE和Opera支持,且hand为非标准属性值
#test{position:absolute;top:50%;left:50%;width:200px;height:200px;margin:-100px 0 0 -100px;}
#test{display:table-cell;*display:block;*position:relative;width:200px;height:200px;text-align:center;vertical-align:middle;}
#test p{*position:absolute;*top:50%;*left:50%;margin:0;}
#test p img{*position:relative;*top:-50%;*left:-50%;vertical-align:middle;}
#test是img的祖父节点,p是img的父节点。
span{display:block;width:200px;height:100px;}
要使内联元素可以设置宽高,只需将其定义为块级或者内联块级元素即可。所以方法非常多样,既可以设置display属性,也可以设置float属性,或者position属性等等。
.a{color:#f00;}
.b{background:#eee;}
.c{background:#ccc;}
多个规则之间使用空格分开,并且只有class能同时使用多个规则,id不可以
html,body{height:100%;margin:0;}
#test{height:100%;}
html{_padding:10px;}
#test{position:absolute;top:10px;right:10px;bottom:10px;left:10px;_position:static;_height:100%;}
a{outline:none;}
IE7及更早浏览器由于不支持outline属性,需要通过js的blur()方法来实现,如
.outer{width:200px;height:200px;background:#000;filter:alpha(opacity=20);opacity:.2;}
.inner{width:200px;height:200px;margin-top:-200px;}
原理是容器层与内容层并级,容器层设置透明度,内容层通过负margin或者position绝对定位等方式覆盖到容器层上
.outer{width:200px;height:200px;background:rgba(0,0,0,.2);background:#000\9;filter:alpha(opacity=20)\9;}
.outer .inner{position:relative\9;}
高级浏览器直接使用rgba颜色值实现;IE浏览器在定义容器透明的同时,让子节点相对定位,也可达到效果
body{text-align:center;}
#test2{width:960px;margin:0 auto;text-align:left;}
定义body的text-align值为center将使得IE5.5也能实现居中
#test{border-collapse:collapse;border:1px solid #ddd;}
#test th,#test td{border:1px solid #ddd;}
#test{border-spacing:1px;background:#ddd;}
#test tr{background:#fff;}
IE7及更早浏览器不支持border-spacing属性,但是可以通过table的标签属性cellspacing来替代。
body{line-height:n;}
注意,不要给n加单位。
标准模式下:Element width = width + padding + border
怪异模式下:Element width = width
.box1{margin:10px 0;}
.box2{margin:20px 0;}
本例中box1的底部margin为10px,box2的顶部margin为20px,但表现在页面上2者之间的间隔为20px,而不是预想中的10+20px=30px,结果是选择2者之间最大的那个margin,我们把这种机制称之为“外边距合并”;外边距合并不仅仅出现在相邻的元素间,父子间同样会出现。
简单列举几点注意事项:
外边距合并只出现在块级元素上; 浮动元素不会和相邻的元素产生外边距合并; 绝对定位元素不会和相邻的元素产生外边距合并; 内联块级元素间不会产生外边距合并; 根元素间不会不会产生外边距合并(如html与body间); 设置了属性overflow且值不为visible的块级元素不会与它的子元素发生外边距合并;
input,textarea{ime-mode:disabled;}
ime-mode为非标准属性,写该文档时只有IE和Firefox支持
不使用list-style-image来定义列表项目标记符号,而用background-image来代替,并通过background-position来进行定位
现象:
在编写本条目时,除了Opera,在所有浏览器下input标签使用伪对象:before和:after都没有效果,即使Opera的表现也同样令人诧异。大家可以试玩一下。浏览器版本:IE6-IE10, Firefox6.0, Chrome13.0, Safari5.1, Opera11.51
思路1:使用text-indent的负值,将内容移出容器
.test1{width:200px;height:50px;text-indent:-9999px;background:#eee url(*.png) no-repeat;}
该方法优点在于结构简洁,不理想的地方:1.由于使用场景不同,负缩进的值可能会不一样,不易抽象成公用样式;2.当该元素为链接时,在非IE下虚线框将变得不完整;3.如果该元素被定义为内联级或者内联块级,不同浏览器下会有较多的差异
思路2:使用display:none或visibility:hidden将内容隐藏;
.test{width:200px;height:50px;background:#eee url(*.png) no-repeat;}
.test span{visibility:hidden;/* 或者display:none */}
摄图网https://www.wode007.com/sites/73204.html VJ师网https://www.wode007.com/sites/73287.html
该方法优点在于兼容性强并且容易抽象成公用样式,缺点在于结构较复杂
思路3:使用padding或者line-height将内容挤出容器之外;
.test{overflow:hidden;width:200px;height:0;padding-top:50px;background:#eee url(*.png) no-repeat;}
.test{overflow:hidden;width:200px;height:50px;line-height:50;background:#eee url(*.jpg) no-repeat;}
该方法优点在于结构简洁,缺点在于:1.由于使用场景不同,padding或line-height的值可能会不一样,不易抽象成公用样式;2.要兼容IE5.5及更早浏览器还得hack
思路4:使用超小字体和文本全透明法;
.test{overflow:hidden;width:200px;height:50px;font-size:0;line-height:0;color:rgba(0,0,0,0);background:#eee url(*.png) no-repeat;}
该方法结构简单易用,推荐使用
在编写本条目时,除了Firefox,在所有浏览器下伪对象:before和:after无法定义过渡和动画效果。浏览器版本:IE6-IE10, Firefox6.0, Chrome13.0, Safari5.1, Opera11.51。如果这个过渡或动画效果是必须,可以考虑使用真实对象。
趁着清明的3天时间,我专门看了xhtml的一套视频,虽然是xhtml但是也隐喻了很多经验,巩固了一下自己的基础,我自己也写了很多大大小小的东西,但是越写我越发觉自己基础的薄弱,果然没错!还是学到了一些我以前没理解、不知道的一些概念和一些经验之谈,这里我写一篇文章做一个总结。
一、首先W3C标准
结构、表现、动作 与 html、css、javascript相对应,它本意是结构表现分离,而且按照html规范编写结构。
标签方面:
-所有标签都要小写、关闭、并且合理嵌套,id不能重复
-标签要有属性,属性必须有值,并且用“”表示
-img标签不能忽略alt属性
-表格标签不适用height属性
-尽量减少ifream的使用会影响浏览器响应速度,虽然在html5中也能使用ifream
内容模型:
-body、form、blockquote仅能包含块级元素
-文本、图像、链接等内联元素不能直接暴露在body标签中,必须用其他标签包裹
-内联元素不能包含块级元素
其他方面:
-特殊字符用编码表示
番外:
初学者的误区:
1、div是万能的!
2、table是丢人的!
3、为标准而标准
1、div严格意义上称作容器,大家有一些页面的装饰可以通过嵌套div来实现,但是千万不能整个页面全都用div来编写,很多标签是有特定含义的,比如说h1~h3,p,strong等,在html5中就更加语义化了比如,footer、head、nav、article、section等标签,还有很多标签,我这里只说常用的一些标签,而且如果整个页面全都用div来写不便于搜索引擎搜索到你的网站。
2、table并不丢人,只不过很少用而已,table是用来装载数据的,所有标签只要合理应用就不会丢人。
3、我们写网站网页其实说白了是为了客户和用户来看的,根据他们的需求我们学出对应的网站,我们强调页面应该灵活编写,不能死板的来。
二、你必须掌握的
1、块状元素和内联元素
(1)块状元素
块元素一般是其他元素的的容器元素,块元素一般从新的一行开始,它可以容纳文本、内联元素和其他块状元素,通过width和height属性可以设置其大小,常见的块元素有 h标签 和p标签、div标签
番外:form标签也属于块标签并且只能容纳块级标签
(2)内联元素
内联元素非块级元素。内联元素只能容纳文本或者其他内联元素,不会独占一行,width和height对其不起作用,常见的内联元素有 a img span 等
番外: 这里我提一下 w3c为了让开发人员更方便 增加了一个 inline-block 属性值 ,包含块状元素的特点:能够改变元素大小,也包含内联元素的特点:大小只有盒内元素大小
2、盒子模型
下图能代表所有,具体和深入请看各种大神技术博:
3、css页面控制样式方法
(1)行内式
(2)内嵌式
(3)链接式
(4)导入式
优先级:
就近元素,行内>内嵌>链接>导入,在国内经前端经常用的是 链接式。
4、常用选择器
-标签选择器(div、p)
-id选择器(#)
-类选择器(.)
-通用选择器(*)
-伪类选择器(:link,:active,:hover,:visited)
ID>类>标签>通用
5、文本流
文本流讲述的是一个概念性的东西,页面内的元素是:从上至下、从左自右的顺序进行排列的。
如何脱离文本流?
我们为了方便布局,通常使用浮动和定位的方式布局
6、命名方法
-骆驼命名法
-帕斯卡命名法
-匈牙利命名法
-或者全首字母大写
命名规则:
头:head/header
内容:content/container
尾:foot/footer
导航:nav/navigation
侧栏: sidebar
三、css的控制能力
1、首行缩进
text-indent:2em;
如果文字是英文,也是缩进2个汉字的宽度
知识点:
px 像素
rem 相对浏览器的单位
% 百分比单位
cm、mm 绝对单位
2、增强页面文字灵活性
在body中设置文字大小font-size:62.5% 在需要设置12px的地方设置文字大小为1.2em以此类推14px相对1.4em
因为任意浏览器默认字体高度为16px 1em=16px
1px=1/16em 10px=10/16em=0.625em=0.625*1em=62.5%*1em
12px=62.5%*1.2em
14px=62.5%*1.4em
16px=62.5%*1.6em
ie下设置1.2em会比12px大,为什么? 怎么处理?
因为ie浏览器总是吧 62.5 小数点换算错所以我们以后设置页面大小直接设置为63%就可以兼容所有浏览器
3、浮动和定位
浮动:
float:left
float:right
定位:
position:absolute
position:relative
清除浮动:
-clear:both
-clear:left
-clear:right
浮动清除的并不是本元素的浮动,清除的是上级元素对于本元素的影响,我们可以讲页面整体分为三级
第一级是文本流 也就是页面默认的显示方式
第二级是浮动 它脱离文本流向上一层
第三级是定位 它是比浮动更高一级的为第三级
4、position
-absolute
-relative
-static
-Inherit
-Fixed
Absolute:绝对定位,绝对定位的元素的位置相对于最近的已定位祖先元素,如果元素没有已定位的祖先元素,那么它的位置相对于最初的包含块,绝对定位比较灵活如果你想,可以定位到浏览器的任意点
Relative: 相对定位,相对与父级盒子定位
static:默认的元素定位方式
inherit:继承父级盒子的position属性 这个没多大用,如果我们要继承的话,倒不如自己重写一个省的自己再找一遍元素。
Fixed:元素固定在浏览器body的一个位置,浏览器上拉下拉都不会改变位置
番外:一般网站都是都是以浮动为主,定位为辅,你们可以看看现在的淘宝网站。
5、CSS Reset
css样式具有继承和重置的作用
常用的CSS Reset
*{ margin:0,padding:0 }
body,div,p,ul,ol,li,dl,dt,dd,h1,h2,h3,h4,h5,h6,form,input,textarea,th,td {padding:0; margin:0;}
table {border-collapse: collapse; border-spacing: 0;}
img {border: 0;}
ol,ul{list-style: none;}
h1,h2,h3,h4,h5,h6 {font-weight: normal; font-size: 100%;}
四:页面调试/纠错方法
1、页面debug调试
2、排除法
3、设置背景法
网站的页面的加载顺序是按照文本流的顺序加载,
我们编写页面优先考虑:
1、搜索引擎加载
2、便于浏览者观察
3、页面结构简单整洁
最后
告诉大家一个调试神器:http://getf5.com/