当前位置:  编程技术>WEB前端
本页文章导读:
    ▪JS原型链学习笔记      Animal-Dog-jiwawa 例子“Animal拥有name属性和laugh方法 Dog 继承 Animal jiwawa(吉娃娃)是Dog 的实例”各种失败的尝试:1,错误,dog只是Animal的实例,不是继承自它的后嗣1 function A.........
    ▪各版本浏览器核心与兼容性      那内核是什么呢?内核只是一个通俗的说法,其英文名称为“Layout engine”,翻译过来就是“排版引擎”,也被称为“页面渲染引擎”(下文中各种说法通用)。它负责取得.........
    ▪css中替换元素和不可替换元素      元素是文档结构的基础,在css中,每个元素生成了一个包含了元素内容的框(box,也译为“盒子”)。但是不同的元素显示的方式会有所不同,例如<div>和<span>就不同,而<stro.........

[1]JS原型链学习笔记
    来源:    发布时间: 2013-11-06

Animal-Dog-jiwawa 例子

“Animal拥有name属性和laugh方法
Dog 继承 Animal 
jiwawa(吉娃娃)是Dog 的实例”

各种失败的尝试:

1,错误,dog只是Animal的实例,不是继承自它的后嗣

1 function Animal (name){
2 this.name=name;
3 this.laugh=function(){return "Haha"};
4 }
5 var dog = new Animal("dog") ;
6 console.log(dog.name);
7 dog.laugh();

2, 错误,把Dog的prototype给了Animal

1 function Animal(name){
2 this.name=name;
3 this.laugh = function(){return "Haha"};}
4 var Dog=new Object();
5 var Dog = Object.create(Animal);
6 //把Dog的prototype给了Animal
7
8 var jiwawa = new Dog("ss");
9 jiwawa.laugh()

3,写法错误 Dog.prototype= new Animal(); 

function Animal(name){
this.name=name;
this.laugh = function(){return "Haha"};}
var Dog=new Object();
Dog.prototype= Animal;
//写法错误 Dog.prototype= new Animal();

var jiwawa = new Dog("ss");
jiwawa.laugh()

4,自有属性不要放进原型中

function Animal(){}
Animal.prototype.name="sth"; //自有属性不要放进原型中
Animal.prototype.laugh = function(){return "Haha"};

function Dog (){};
Dog.prototype= Animal.prototype
var jiwawa = new Dog();
jiwawa.laugh();
最后代码: 

function Animal(name){
this.name=name;
}
Animal.prototype = {
laugh : function(){return "haha"}
}
function Dog(name){
Animal.call(this,name);
}
Dog.prototype=new Animal();
var Jiwawa = new Dog("jiji");
Jiwawa.laugh();

 

本文链接


    
[2]各版本浏览器核心与兼容性
    来源:    发布时间: 2013-11-06

那内核是什么呢?内核只是一个通俗的说法,其英文名称为“Layout engine”,翻译过来就是“排版引擎”,也被称为“页面渲染引擎”(下文中各种说法通用)。它负责取得网页的内容(HTML、XML、图像等等)、整理信息(例如加入CSS等),以及计算网页的显示方式,然后会输出至显示器或打印机。所有网页浏览器、电子邮件客户端以及其它需要编辑、显示网络内容的应用程序都需要排版引擎。

现在市面上常见的 内核基本是一下4种:

Trident:

这是微软开发的一种排版引擎。该内核程序在1997年的IE4中首次被采用,是微软在Mosaic代码的基础之上修改而来的,并沿用到目前的 IE7。Trident实际上是一款开放的内核,其接口内核设计的相当成熟,因此才有许多采用IE内核而非IE的浏览器涌现(如 Maxthon、The World 、TT、GreenBrowser、AvantBrowser等)。此外,为了方便也有很多人直接简称其为IE内核(当然也不排除有部分人是因为不知道内 核名称而只好如此说,至少老N就是如此。。。)。自从发布后,Trident不断地被更新和完善:

Trident II(IE5)——增进对CSS1.0的支持及对CSS2重大的变更;

Trident III(IE5.5)——修正部分CSS的排版控制;

Trident IV(IE6)——修正了一部分box-model的错误以及增加了“兼容模式(Quirks Mode)”切换功能,以增加对文件类型描述(Document Type Definition,DTD)的支持;

Trident V(IE7)——修正许多CSS排版处理上的错误以及增加对pNG格式alpha通道(半透明)的支持。(这就是IE6经常被诟病的对png图片支持不良的之处!)

Geckos:

Gecko是套开放源代码的、以C++编写的网页排版引擎。这软件原本是由网景通讯公司开发的,Netcape6开始采用该内核。后来的 Mozilla FireFox也采用了该内核,Geckos的特点是代码完全公开,因此,其可开发程度很高,全世界的程序员都可以为其编写代码,增加功能。Geckos 现在由Mozilla基金会维护。

presto:

presto是一个由Opera Software开发的浏览器排版引擎,该内核在2003年的Opera7中首次被使用,该款引擎的特点就是渲染速度的优化达到了极致,也是目前公认网页浏览速度最快的浏览器内核。

Webkit:

苹果公司自己的内核,也是苹果的Safari浏览器使用的内核。 Webkit引擎包含WebCore排版引擎及JavaScriptCore解析引擎,均是从KDE的KHTML及KJS引擎衍生而来,它们都是自由软 件,在GpL条约下授权,同时支持BSD系统的开发。所以Webkit也是自由软件,同时开发源代码。在安全方面不受IE、Firefox的制约,所以 Safari浏览器在国内还是很安全的。

简单的总结一下:

使用Trident内核的浏览器:IE、Maxthon、TT、The World等;

使用Gecko内核的浏览器:Netcape6及以上版本、FireFox、MozillaSuite/SeaMonkey;

使用presto内核的浏览器:Opera7及以上版本;

使用Webkit内核的浏览器:Safari、Chrome。

本文链接


    
[3]css中替换元素和不可替换元素
    来源:    发布时间: 2013-11-06

元素是文档结构的基础,在css中,每个元素生成了一个包含了元素内容的框(box,也译为“盒子”)。但是不同的元素显示的方式会有所不同,例如<div>和<span>就不同,而<strong>和<p>也不一样。在文档类型定义(dtd)中对不同的元素规定了不同的类型,这也是dtd对文档之所以重要的原因之一。

1. 替换和不可替换元素

从元素本身的特点来讲,可以分为替换和不可替换元素。

a) 替换元素

替换元素就是浏览器根据元素的标签和属性,来决定元素的具体显示内容。

例如浏览器会根据<img>标签的src属性的值来读取图片信息并显示出来,而如果查看(x)html代码,则看不到图片的实际内容;又例如根据<input>标签的type属性来决定是显示输入框,还是单选按钮等。

(x)html中的<img>、<input>、<textarea>、<select>、<object>都是替换元素。这些元素往往没有实际的内容,即是一个空元素,例如:

<img src=/blog_article/”cat.jpg /> <input type="submit" name="submit" value="提交" />

浏览器会根据元素的标签类型和属性来显示这些元素。可替换元素也在其显示中生成了框。

b) 不可替换元素

(x)html 的大多数元素是不可替换元素,即其内容直接表现给用户端(例如浏览器)。例如:

<p>段落的内容</p>

段落<p>是一个不可替换元素,文字“段落的内容”全被显示。

2. 显示元素

除了可替换元素和不可替换元素的分类方式外,css 2.1中元素还有另外的分类方式:块级元素(block-level)和行内元素(inline-level,也译作“内联”元素)。

a) 块级元素

在视觉上被格式化为块的元素,最明显的特征就是它默认在横向充满其父元素的内容区域,而且在其左右两边没有其他元素,即块级元素默认是独占一行的。

典型的块级元素有:<div>、<p>、<h1>到<h6>,等等。

通过css设定了浮动(float属性,可向左浮动或向右浮动)以及设定显示(display)属性为“block”或“list-item”的元素都是块级元素。

但是浮动元素比较特殊,由于浮动,其旁边可能会有其他元素的存在。而“list-item”(列表项<li>),会在其前面生成圆点符号,或者数字序号。

b) 行内元素

行内元素不形成新内容块,即在其左右可以有其他元素,例如<a>、<span>、<strong>等,都是典型的行内级元素。

display属性等于“inline”的元素都是行内元素。几乎所有的可替换元素都是行内元素,例如<img>、<input>等等。

不过元素的类型也不是固定的,通过设定css 的display属性,可以使行内元素变为块级元素,也可以让块级元素变为行内元素。

 

替换元素与块级元素在格式编排中很多地方相同,如垂直边界压缩而水平边界不压缩,边框和补白默认为0。

所有的替换元素都可以用height和width属性进行缩放,如<img />标签,如果一张图片的宽,高为100px,那么将height和width设置为auto时,图片保持原来大小,但是设置为其它值时,就会发生缩放。

本文链接


    
最新技术文章:
▪css white-space:nowrap属性用法(可以强制文字不...
▪IE里button设置border:none属性无效解决方法
▪border:none与border:0使用区别
▪html清除浮动的6种方法示例
▪三个不常见的 HTML5 实用新特性简介
▪css代码优化的12个技巧
▪低版本IE正常运行HTML5+CSS3网站的3种解决方案
▪CSS Hack大全-教你如何区分出IE6-IE10、FireFox、Chr...
▪ie6,ie7,ie8完美支持position:fixed的终极解决方案
▪小技巧处理div内容溢出
▪html小技巧之td,div标签里内容不换行
▪纯CSS实现鼠标放上去改变文字内容
▪li中插入img图片间有空隙的解决方案
▪CSS3中Transition属性详解以及示例分享
▪父div高度不能自适应子div高度的解决方案
▪告别AJAX实现无刷新提交表单
▪从零学CSS系列之文本属性
▪HTML 标签
▪CSS3+Js实现响应式导航条
▪CSS3实例分享之多重背景的实现(Multiple background...
▪用css截取字符的几种方法详解(css排版隐藏溢...
▪页面遮罩层,并且阻止页面body滚动。bootstrap...
▪CSS可以做的几个令你叹为观止的实例分享
▪详细分析css float 属性以及position:absolute 的区...
▪IE6/IE7/IE8/IE9中tbody的innerHTML不能赋值的完美解...
▪CSS小例子(只显示下划线的文本框,像文字一...
▪可以给img元素设置背景图
▪不通过JavaScript实现的自动滚动视差效果
▪div+CSS 兼容小摘
▪CSS的inherit与auto使用分析
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3