html体会

时间:2024.5.15

HTML

HTML 4.01 规定了三种文档类型:Strict、Transitiona 以及 Frameset。 HTML Strict DTD

如果您需要干净的标记,免于表现层的混乱,请使用此类型。请与层叠样式表(CSS)配合使用:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "

/TR/html4/strict.dtd">

HTML Transitional DTD

Transitional DTD 可包含 W3C 所期望移入样式表的呈现属性和元素。如果您的读者使用了不支持层叠样式表(CSS)的浏览器以至于您不得不使用 HTML 的呈现特性时,请使用此类型:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " /TR/html4/loose.dtd">

Frameset DTD

Frameset DTD 应当被用于带有框架的文档。除 frameset 元素取代了 body 元素之外,Frameset DTD 等同于 Transitional DTD:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" " /TR/html4/frameset.dtd

我们现在使用的是xml1.0即下图所示 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="/1999/xhtml">

Id和class的区别

id属性对于XHTML并不新鲜;class属性或者div元素也一样。它们都可以回溯到HTML时代。id属性为一个元素分配一个唯一的名字。每个名字只能在被赋予的页面使用一次。(例如,假如你的页面包含id为content的div,那么另外一个div或者其他别的元素都不能使用这个名字。相反地,class属性可以被一遍有一遍地使用在页面中(例如,页面中的五个段落都可以使用名为"small"或者"footnote"的class名称)。下面的标记将有助于阐明id和class的差异: <div id="searchform">Search form components go here. This section of the page is unique.</div>

<div class="blogentry">

<h2>Today's blog post</h2>

<p>Blog content goes here.</p>

<p>Here is another paragraph of blog content.</p>

<p>Just as there can be many paragraphs on a page, so too there may be many entries in a blog. A blog page could use multiple instances of the class "blogentry" (or any other class).</p>

</div>

<div class="blogentry">

<h2>Yesterday's blog post</h2>

<p>In fact, here we are inside another div of class "blogentry."</p>

<p>They reproduce like rabbits.</p>

<p>If there are ten blog posts on this page, there might be ten divs of class "blogentry" as well.</p>

</div>

在这个例子中,名为searchform的div被用来封装包含搜索表单的页面区域,而div class="blogentry"则用来封装blog中的每个文章入口。在页面中只有一个搜索表单,所以我们选择id标注这个唯一的组件。但是blog则拥有许多的(文章)入口,所以class属性被应用于这种情况。同样地,新闻站点通常拥有多个div,这些div的class可以命名为"newsitem"或者别的什么。

然而不是所有的站点都需要div。blog站点可以仅仅使用h1, H2, 和h2标题和<p>段落,新闻站点也一样。我们在这里展示class为blogentry的div,并不是鼓励你在站点中塞满div,而仅仅是为了向你展示这个原则:在同一个HTML文档中,使用多次class,但只能使用一次id。

粘性贴纸理论

把id属性比作粘性贴纸来进行思考应该是有帮助的。我会在冰箱上拍一张贴纸来提醒自己去买牛奶,电话上面也会贴一张,提醒我给一位逾期缴纳的客户打电话。还有一个,被贴在账本夹上面,来提醒我这个月15号之前必须缴纳的账单。 id同样会标注文档中的特殊区域,以便提醒你哪个区域需要特殊的处理,在这点上,id属性与粘性贴纸是相似的。为了实现所谓的特殊处理,你需要使用这个特殊的id在样式表中编写若干规则,或者在JavaScript文件中添加几行代码。比方说,你的CSS文件中有一些特定的规则,这些规则只应用于id名为searchform的div内的元素。

当某一id属性作为一个有磁性的东西(磁铁)被用于一系列特定的CSS规则时,它被称为CSS选择器。有许多创建选择器的方法,不过id是很容易使用的,并且有多的用途。

我的体会

我是这样想的,id代表一个人的身份,自然只能有一个,而class代表一个班级(类)班级中自然有许多人,也就可以被很多次使用

id的力量

id属性不可思议地强有力。它具有以下的能力:

?

?

?

?

? 作为样式表选择器,使我们有能力创作紧凑的最小化的XHTML。 作为超文本的目标锚,取代过时的name属性。 作为从基于DOM的脚本来定位特定元素的方法。 作为对象元素的名称。 作为一种综合用途处理(general purpose processing)的工具(在W3C的例子中,“当把数据从HTML页面中提取到数据库,或将HTML文档转换为其他格式等情况下,作为域识别工具来使用。”)。

id的规则

id值必须以字母或者下划线开始;不能以数字开始。虽然W3C验证不会捕获这个错误,但是XML解析器会的。同时,如果你将id与JavaScript在表单中配合使用,那么id名称和值必须是合法的JavaScript变量。空格和连字号,特别是连字号,是不被允许的。不仅如此,将下划线用于class或者id名都不是个好主意,这是由于在CSS2.0(以及某些浏览器)中的限制。

HTML 标签

<span>

定义和用法

<span> 标签被用来组合文档中的行内元素。

HTML 与 XHTML 之间的差异

NONE

提示和注释:

提示:请使用 <span> 来组合行内元素,以便通过样式来格式化它们。

注释:span 没有固定的格式表现。当对它应用样式时,它才会产生视觉上的变化。 例子解释

如果不对 span 应用样式,那么 span 元素中的文本与其他文本不会任何视觉上的差异。尽管如此,上例中的 span 元素仍然为 p 元素增加了额外的结构。

可以为 span 应用 id 或 class 属性,这样既可以增加适当的语义,又便于对 span 应用样式。

可以对同一个 <span> 元素应用 class 或 id 属性,但是更常见的情况是只应用其中一种。这两者的主要差异是,class 用于元素组(类似的元素,或者可以理解为某一类元素),而 id 用于标识单独的唯一的元素。

提示:事实上,您也许已经注意到了,W3School 站点上有一些文本的样式与其他文本是不同的。比如“提示”使用了粗体的橘红色。尽管实现这种效果的方法非常多,但是我们的做法是:使用“提示”使用 span 元素,然后对这个 span 元素的父元素,即 p 元素应用 class,这样就可以对这个类的子元素 span 应用相应的样式了。

HTML:

<p class="tip"><span>提示:</span>... ... ...</p>

CSS:

p.tip span {

font-weight:bold;

color:#ff9955;

}


第二篇:html


兼容问题:计算一定要精确,不要让内容的宽高超出我们设置的宽高

在IE6下,padding值会撑开设置好的宽高,减去对应的padding值

在IE6,7下,元素浮动如果宽度需要内容撑开,里边的块元素都要加浮动

在IE6,7下,元素要通过浮动并在同一行,就给这行元素都加浮动

注意标签嵌套规范

IE6下最小高度问题:在IE6下,元素的高度小于19px的时候,会被当作19px处理   解决方法:给样式加   overflow:hidden;

边框点线问题:1px 点线在IE6不支持    解决方法:切背景平铺

在IE6下解决Margin传递要触发该样式的haslayout:overflow:hidden;zoom:1;

在IE6下,父级有边框的时候,子元素的margin值消失   解决方法:触发父级的haslayout: zoom:1;

IE6下双边距BUG

在IE6下,块元素有浮动横向的margin值,横向的margin会被放大成两倍

margin-right:一行右侧第一个元素有双边距

margin-left:一行左侧第一个元素有双边距

解决方法:display:inline;

在IE6,7下,li本身没浮动,但li里面的内容有浮动,li下就会产生间隙  解决方法:1.给li加浮动,同时要设宽度  2.给li接加vertical-align:top;

当IE6下,元素的高度小于19px的时候和li的间隙问题共存的时候:给li加浮动,overflow:hidden;设宽度

当一行子元素占有的宽度之和 和父级相差超过3px,或者有不满行状态的时候,最后一行子元素的下margin在IE6下就会失效

IE6下文字溢出BUG:子元素的宽度和父级的宽度相差小于3px的时候,两个浮动元素中间有注释或内嵌元素

解决方法:用div把注释或内嵌元素包起来

当浮动元素和绝对定位元素是并列关系的时候,IE6下绝对定位会消失

解决方法:给定位元素外面包DIV

在IE6,7下,子元素有相对定位的话(position:relative);父级的(overflow:auto)包不住子元素

解决方法:给父级也加相对定位(position:relative);

在IE6下绝对定位元素的父级宽高是奇数的时候,元素的right值和bottom值会有1px的偏差

在IE6,7下,输入类型的表单控件一般用div包住

在IE6,7下,输入类型的表单控件上下各有1px间隙

解决方法:给input加浮动(folat:left)

在IE6,7下输入类型的表单控件加:border:none无效

解决方法:给input重置背景

在IE6,7下输入类型的表单控件输入文字的时候,背景图片跟着移动

解决方法:把背景加给父级,再把自身的背景清掉(background:none)

背景图全屏:background-size: cover

图片刚好一屏的,随着滚动条的移动:background-attachment: fixed

要<Input>标签中的文字垂直居中,要在定义input的样式中摄设置高度和行高相同

标签命名规范:p标签里不能包含块标签

给li加hover不抖动==>:li{ padding:1px;}       li:hover{ padding;0}

background(url()  no-repeat left(X轴)  top(Y轴));一般用负数

background(url()  no-repeat center  top)顶部居中对齐

background(url()  no-repeat center  bottom)

padding: top  right  bootom  left(上,右,下,左)

margin: top  right  bootom  left(上,右,下,左)

居中:(margin-right:auto; margin-left:auto;)margin:0 auto;

常见文本:

font-size                  文字大小(一般均为偶数)

font-family              字体(中文默认宋体)

color                        文字颜色(英文、rgb、十六位进制色彩值)

line-height              行高

text-align                文本对齐方式

text-indent             首行缩进(em缩进字符)

font-weight            文字着重

font-style                文字倾斜

text-decoration      文本修饰

letter-spacing         字母间距

word-spacing         单词间距(以空格为解析单位)

font:font-style | font-weight | font-size/line-height | font-family;

a伪类

link            未访问(默认)

hover         鼠标悬停(鼠标划过)

active         链接激活(鼠标按下)

visited        访问过后(点击过后)

IE6下最小高度

在IE6下高度小于19px的元素,高度会被当做19px来处理

解决方法:font-size

字体都有4个像素的偏差,有关设高的地方要减去4

浮动:

能不用浮动和margin出现的尽量不要用,用padding代替

清浮动:

1、         给父级也加浮动(不推荐)

2、         给父级加display:inline-block

3、         在浮动元素下加<div class=”clear”></div>

.clear{ height:0px; font-size:0; clear:both;}

4、         在浮动元素下加<br clear=”all”/>

在IE6,7下浮动元素的父级有宽度就不用清浮动

Haslayout  根据元素内容的大小,或者父级的父级的大小来重新计算元素的宽高

display:inline-block

height:(任何值除了auto)

float:(left或right)

width:(任何值除了auto)

zoom:(除了normal外任意值)

5、         给浮动元素的父类加上样式:

.clear:after{ content:""; display:block; clear:both;}

.clear{zoom:1;}   ======>IE6,7下

6、         给浮动元素的父级加Overflow  溢出   {Overflow :auto; zoom:1;}

auto  溢出显示滚动条

scroll  默认就显示滚动条

hidden  溢出隐藏

在IE6,7下,元素浮动要并在同一行的元素都要加浮动

IE6下双边距BUG

IE6下块元素有浮动,和横向的margin值会被放大两倍

解决办法:

转成内嵌:display:inline;

IE6,7下li下几px的间隙问题

在IE6,7下li本身没浮动,但是内容浮动了li下就会多出来几个像素

解决方法:

1.         给li加浮动

2.         给li加vertical-align:top

Body>html>

定位:

Position:relative:相对定位top/bottom/left/right控值,可以是负数(沿着原来的位置移动)

1.    不影响元素本身的特性

2.    不使元素脱离文档流

3.    如果没有定位偏移量,对元素本身没有任何影响

Position:absolute;绝对定位

1.    使元素完全脱离文档流

2.    使内嵌支持宽高

3.    块属性标签内容撑开宽度

4.    如果有定位父级相对于定位父级发生偏移,没有定位父级相对于整个文档发生偏移

5.    相对定位(当绝对定位元素的父级)一般都是配合绝对定位元素使用

不透明度:opacity:0~1

IE下:filter:(alpha=0~10)

Ie6下父级的overflow:hidden;是包不住子级的相对定位的
在IE6下定位元素的父级宽高都为基数,那么在IE6下定位元素的right和bottom都有1像素的偏差,(一般把父级的宽高设成偶数)

更多相关推荐:
Html5开发心得

Html5开发心得HTML5在网页开发上赋予网页更好的意义和结构更加丰富的标签将随着对RDFa的微数据与微格式等方面的支持构建对程序对用户都更有价值的数据驱动的Web北京恒泰博远软件开发公司对HTML5的解释是...

Html5开发心得

Html5开发心得HTML5在网页开发上赋予网页更好的意义和结构更加丰富的标签将随着对RDFa的微数据与微格式等方面的支持构建对程序对用户都更有价值的数据驱动的Web深蓝教育品牌H5EDUcn对HTML5的解释...

Html5与APP开发比较心得

Html5与APP开发比较心得引言大量新生移动设备的兴起改变了当今互联网的格局在技术的发展上HTML5会取代App应用吗或者说能够在多大程度上取代呢在HTML5规范中已经加入了相机磁力罗盘GPS信息的支持很多新...

厦门html培训博看分享HTML5开发物理游戏的心得

厦门html培训博看分享HTML5开发物理游戏的心得HTML5技术为现今Web应用程序在浏览器中提供了非常广阔的发挥空间,其强大的功能让我们在浏览器上开发游戏和玩游戏不再是难事。厦门博看文思利用Canvas和强…

HTML学习心得

HTML学习心得一HTML简介全写HyperTextMarkupLanguage译名超文件注标式语言译名之一简释一种为普通文件中某些字句加上标示的语言其目的在于运用标记tag使文件达到预期的显示效果HTML是在...

学习心得体会

学习义龙试验区党工委书记胡正军同志讲话材料心得体会义龙试验区20xx年发展大会暨半年经济工作会义龙试验区党工委书记胡正军同志作了重要讲话把好试验区发展的正确方向明确义龙试验区的四定即定奋斗目标确定以建设1000...

学习方面的一些心得体会

学习方面的一些心得体会向大家介绍一下我在学习方面的一些心得体会同学们共勉第一我觉得要想学习好一门功课首先得对这门功课感兴趣俗话说兴趣就是最好的老师有了兴趣才会对学习有动力自然会越学越好第二要想搞好学习必须掌握正...

XHTML学习心得体会

XHTML学习心得体会刚开始接触XHTML的时候感觉很难不知该怎么学习后来经过认真学习这门选修课让我渐渐找到了学习的方向每天都能进步一点点下面让我来谈一谈我学习这门课的心得体会通过学习我知道了XHTML是可扩展...

学习心得体会

去过建勋学校之后学习心得体会刘婉婉上星期六我们一行人坐上大巴车出发一路上欢声笑语对目的地充满了万分期待经过五六个小时终于到了第二天一大早到了建勋学校一进校园异常安静反而我们的到来破坏了这般宁静初中部的同学们已坐...

有效学习心得体会

学习心得体会潘集区潘集中心校乔长波通过这次的网上继续教育学习,听了专家团的讲座及案例分析,对我而言在教学方面有很深的体会:主要还是立足基础、寻求创新,保证学生能有效学习。下面,我来谈一下自己的感受。首先教师必须…

1学习心得jumptapCPG品牌如何最大化移动广告效果

根据MaryMeeker用户已经将23的媒体消费时间用在移动设备上我们也看到移动广告的参与率是网络广告的23倍那么这些对于营销者意味着什么尤其是对于CPG营销者这意味着移动互联网不仅是一个营销机遇而是一个必须应...

基于Html5个性化学习系统-开题报告

杭州电子科技大学毕业设计论文开题报告题目学院专业姓名班级学号指导教师基于HTML5的个性化学习系统设计与实现软件工程学院软件工程王竹君1010841110109238任一支一综述本课题国内外研究动态说明选题的依...

html5心得体会(4篇)