Heim >Web-Frontend >CSS-Tutorial >Detaillierte Einführung in das Zoom-Attribut in CSS

Detaillierte Einführung in das Zoom-Attribut in CSS

零下一度
零下一度Original
2017-07-26 11:27:313194Durchsuche

Das Zoom-Attribut ist exklusiv für IE. Zusätzlich zum Festlegen oder Abrufen des Zoomverhältnisses eines Objekts verfügt es auch über Funktionen wie das Auslösen des Haslayout-Attributs von IE, das Löschen von Floats und das Löschen von Randüberlappungen. Es ist jedoch zu beachten, dass Firefox das Zoom-Attribut nicht unterstützt, das Zoom-Attribut jedoch auch in Webkit-Kernel-Browsern unterstützt werden kann. 1. Einige frühere YY

Zuallererst weiß ich nicht, ob Ihnen aufgefallen ist, dass der Titel „Clear Floats“ Anführungszeichen enthält. Ich habe mich in letzter Zeit gefragt, ob dieser sogenannte „Clearing Float“ korrekt ist. Die Menschen haben eine Herdenmentalität, insbesondere in unserer kollektivistischen Gesellschaft. In asiatischen kollektivistischen Kulturen (wie Japan) symbolisiert es Geduld, Selbstbeherrschung und Reife Erinnern Sie sich noch an die Geschichte von „zwei Eisenkugeln, die gleichzeitig auf den Boden prallen“ in der Grundschule?

Ich habe hier etwas Persönliches und Emotionales zu sagen, und Widerlegungen sind sehr willkommen. Ich sehe oft das Wort „Clear Float“, was übersetzt „Clear Float“ bedeutet. Ich bin neu in der Branche und kann daher nur spekulieren, ob „Clear Float“ das wirklich bedeutet Je häufiger es verwendet wird, desto geringer ist die Wahrscheinlichkeit, dass es ungenau ist.

Ich habe kürzlich über einige Dinge zum Thema „Clearing Floats“ nachgedacht und festgestellt, dass der Begriff „Clearing Floats“ umso ungenauer wurde, je mehr ich über ihn nachdachte. Die genaue Aussage sollte „Clearing the Impact of Float“ lauten. Was ist der eigentliche „Clearing Float“? Natürlich ist es auch möglich, dass „Clearing Floats“ eine Abkürzung ist, was „Clearing the Impact of Floats“ bedeutet. Es ist nur ein beiläufiger Name, und jeder nennt es so, und jeder kennt es tatsächlich. Ich hoffe, ich überdenke es.

YY ist vorbei, kommen wir zum Hauptthema dieses Artikels, einigen nachdenklichen Inhalten, und sprechen wir über mein Verständnis der Gründe, warum Überlauf und Zoom die Auswirkungen des Schwebens beseitigen können. Dies sind hoffentlich oberflächliche Erkenntnisse Leute, die es wirklich verstehen, können mir einige Ratschläge geben, Widerlegungen und Ihre eigene Meinung sind sehr willkommen.

2. Das Umschließen von Elementen

Der Begriff „Umschließen“ kommt häufig in JavaScript vor, insbesondere in js-Bibliotheken wie jQuery. Es ist ein sehr anschauliches Wort. Gestern habe ich diesen sehr inspirierenden Satz gesehen: „Visuelles Denken kann Ihrem Geist mehr Raum geben, um Probleme auf einzigartige und effektive Weise zu lösen.“ Andere Begriffe wie „emotionales Denken“ werden hier verwendet. , „visuelles Denken“ usw. werden ebenfalls verwendet. Das heißt, die Einbeziehung sehr subjektiver und unlogischer Denkweisen in die Betrachtung von Problemen wird dazu beitragen, einen größeren Raum für die Lösung von Problemen zu schaffen.

Wenn ich das Wort „Paket“ erwähne, denke ich an weiße Blutkörperchen, die Bakterien verschlingen (visuelles Denken – Assoziation), sowie an Wärme und Seelenfrieden (emotionales Denken). Dies hängt mit Faktoren wie der menschlichen Genetik und dem Wachstum zusammen. Warum spreche ich über diese scheinbar irrelevanten Dinge? Denn viele der Dinge, die ich im Folgenden beschreiben werde, sind meine eigenen Gefühle, „Ich denke, so ist es“, viele subjektive Dinge.

(1) Werfen wir einen Blick auf die Rolle des Zooms in Nicht-

IE-Browsern

: Schauen Sie sich das Beispiel unten an. In diesem Beispiel habe ich darauf zugegriffen besteht darin, auf das Zweifache der Originalgröße zu vergrößern (Leser können versuchen, den Vorgang selbst zu verkleinern) 1.zoom:1 Wenn

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
<style>
	p{
		width: 100px;
		height: 100px;
		border: 3px solid red; 
		zoom: 1;
}
</style>
	</head>
	<body>
		<p>hello</p>
	</body>
<html>
Das Ergebnis des Obigen Der Code ist wie in der Abbildung dargestellt:


2. Zoom: 2 bedeutet, dass der Zoom das Zweifache des Originals beträgt:

Hinweis: Der Zoom scheint das Vergrößern oder Verkleinern in nicht- IE-Browser, aber da es sich bei diesem Attribut um ein nicht standardmäßiges CSS-Attribut handelt, wird Zoom im Allgemeinen nicht verwendet, um den Zoomeffekt von p zu erzielen. Wenn Sie nun vergrößern oder verkleinern möchten, können Sie es direkt verwenden das Transformationsattribut von CSS3.
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
<style>
	p{
		width: 100px;
		height: 100px;
		border: 3px solid red; 
		zoom: 1;
}
</style>
	</head>
	<body>
		<p>hello</p>
	</body>
<html>

(2) Nachdem wir uns die Leistung von Zoom in Nicht-IE-Browsern angesehen haben, sollten wir einen Blick auf die Rolle dieses Attributs in IE-Browsern werfen.

Zoom的使用方法: 
zoom : normal | number 

normal :  默认值。使用对象的实际尺寸 
number :  百分数 | 无符号浮点实数。浮点实数值为1.0或百分数为100%时相当于此属性的 normal 值用白话讲解就是zoom:后面的数字即放大的倍数,可以是数值,也可以是百分比。如:zoom:1,zoom:120%。而这个属性只要在IE中才起作用,所以很少用到它的实际用途,而最经常用到作用是清除浮动等,如: 

.border{ 
border:1px solid #CCC; 
padding:2px; 
overflow:hidden; 
_zoom:1; 

_zoom是CSS hack中专对IE6起作用的部分。IE6浏览器会执行zoom:1表示对象的缩放比例,但这里 
overflow:hidden;和_zoom:1;是连起来用的,作用是清除border内部浮动。 

 同理,还可以使用同样方法清除margin属性在IE浏览器中的重叠问题:这就要提到zoom属性在IE中的第二个作用了,即

 兼容IE6、IE7、IE8浏览器,经常会遇到一些问题,可以使用zoom:1来解决,有如下作用: 

(2)触发IE浏览器的haslayout ,解决ie下的浮动,margin重叠等一些问题。 
比如,本站使用p做一行两列显示,HTML代码: 

<p class="h_mainbox"> 
<h2>推荐文章</h2> 
<ul class="mainlist"> 
<li><a href="#" style="color:#0000FF" target="_blank">CSS库吧</a></li> 
<li><a href="#" style="color:#0000FF" target="_blank">原创< /a></li> 
</ul> 
</p>


CSS代码: 

.h_mainbox { border:1px solid #dadada; padding:4px 15px; background:url(../mainbox_bg.gif) 0 1px repeat-x; margin-bottom:6px; overflow:hidden} 
.h_mainbox h2 { font-size:12px; height:30px; line-height:30px; border-bottom:1px solid #ccc; color:#555;} 
.h_mainbox h2 span { float:right; font-weight:normal;} 
.h_mainbox ul { padding:6px 0px; background:#fff;} 
.mainlist { overflow:auto; zoom:1;} 
.h_mainbox li { width:268px; float:left; height:24px; overflow:hidden; background:url(../icon3.gif) 0 6px no-repeat; padding:0px 5px 0px 18px; line-height:200%;}

.mainlist里面的zoom:1的那里就可以在IE6、IE7、IE8正常显示效果了。

(3)下面是zoom属性在IE浏览器中常见作用总结,希望对今后在使用这个属性时有所帮助:

1、检查页面的标签是否闭合 
不要小看这条,也许折腾了你两天都没有解决的 CSS BUG 问题,却仅仅源于这里。毕竟页面的模板一般都是由开发来嵌套的,而他们很容易犯此类问题。 
快捷提示:可以用 Dreamweaver 打开文件检查,一般没有闭合的标签,会黄色背景高亮。 

  2、样式排除法 
有些复杂的页面也许加载了 N 个外链 CSS 文件,那么逐个删除 CSS 文件,找到 BUG 触发的具体 CSS 文件,缩小锁定的范围。 

  对于刚才锁定的问题 CSS 样式文件,逐行删除具体的样式定义,定位到具体的触发样式定义,甚至是具体的触发样式属性。 

  3、模块确认法 
有时候我们也可以从页面的 HTML 元素出发。删除页面中不同的 HTML 模块,寻找到触发问题的 HTML 模块。 

  4、检查是否清除浮动 
其实有不少的 CSS BUG 问题是因为没有清除浮动造成的。养成良好的清除浮动的习惯是必要的,推荐使用 无额外 HTML 标签的清除浮动的方法(尽量避免使用 overflow:hidden;zoom:1 的类似方法来清除浮动,会有太多的限制性)。 

  5、检查 IE 下是否触发 haslayout 
很多的 IE 下复杂 CSS BUG 都与 IE 特有的 haslayout 息息相关。熟悉和理解 haslayout 对于处理复杂的 CSS BUG 会事半功倍。推荐阅读 old9 翻译的 《On having layout》(如果无法翻越穿越伟大的 GFW,可阅读 蓝色上的转帖 ) 
快捷提示:如果触发了 haslayout,IE 的调试工具 IE Developer Toolbar 中的属性中将会显示 haslayout 值为 -1。 

  6、边框背景调试法 
故名思议就是给元素设置显眼的边框或者背景(一般黑色或红色),进行调试。此方法是最常用的调试 CSS BUG 的方法之一,对于复杂 BUG 依旧适用。经济实惠还环保^^ 
最后想强调一点的是,养成良好的书写习惯,减少额外标签,尽量语义,符合标准,其实可以为我们减少很多额外的复杂 CSS BUG,更多的时候其实是我们自己给自己制造了麻烦。

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in das Zoom-Attribut in CSS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn