CSS-Analyse von Browserkompatibilitätsproblemen
这篇文章分享给大家的内容是关于css关于浏览器兼容问题的解析,内容很有参考价值,希望可以帮到有需要的小伙伴。
一、火狐
1. 失效
hack:采用jquery UI:datepicker插件。
(1)下载插件,放置在项目文件夹中;
(2)在所需页面引入,如:
<script src="jslib/plugins/datepicker/bootstrap-datepicker.js"></script>
此script与页面所需的对应的js位置不分先后;
(3)点击触发pick事件,func(pic);
调用$("#datepicker").datepicker() ;
带参数的写法:
$("#datepicker").datepicker({ numberOfMonth: 3, // 一排3个 numberOfMonth: [3,2], // 三排每排2个 }) ;
二、ie8
1.圆角:border-radius失效
hack:使用一些能使ie兼容css3新属性的插件,这里介绍一下pie.htc 。
(1)下载pie.htc ;http://css3pie.com/
(2)部署在你的项目文件中,我习惯是放在js下面,不过,就像官网说的
“It doesn't matter where exactly, as long as you know where it is.”;
(3)写样式并追加兼容,如:
a.level0 span.button { width:10px; height:10px; background:#999; border-radius:50%; -webkit-border-radius:50%; -moz-border-radius:50%; behavior:url(view/js/pie.htc) //值得注意的是,追加兼容的路径并不是相对于当前的css文件, //而是相对应的html/jsp文件,个人觉得官网只有说明没有示例不太好。 }
2.渐变:background-image:linear-gredient()失效
hack1:使用兼容插件。
方法同上的前两步(1)、(2)
(3)写样式并追加兼容,如:
nav{ background:linear-gradient(#8fb8ff 0%, #fff 100%); background:-webkit-linear-gradient(#8fb8ff 0%, #fff 100%); background:-moz-linear-gradient(#8fb8ff 0%, #fff 100%); -pie-background: linear-gradient(#8fb8ff 0%, #fff 100%); //ie 6-9 behavior: url(view/js/pie.htc); }
hack2:使用兼容语法。
background:linear-gradient(#8fb8ff 0%, #fff 100%); background:-webkit-linear-gradient(#8fb8ff 0%, #fff 100%); background:-moz-linear-gradient(#8fb8ff 0%, #fff 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr= '#00000000',endColorstr='#E5000000',GradientType=0 ); //GradientType: 0垂直渐变 , 1水平渐变
以上两种方法杂不同的场景中都各有各的优点和缺点,在项目开发中,
可以都试一下采用兼容更好的一种即可。
3.结构伪类选择器:nth-of-type( )失效
hack:ie8支持first-child,变更一下代码。
a.level0 span:nth-of-type(1) ——>a.level0 span:first-child a.level0 span:nth-of-type(2)——>a.level0 span:first-child+span //第二个子节点 a.level0 span:nth-of-type(3)——>a.level0 span:first-child+span+span//第三个子节点 //以此类推
4.盒子阴影:box-shadow失效
hack:pie.htc
p{ wdith:100px; height:100px; background:#fff; //尽管背景是白色,最好还是设置一下,不然兼容后的效果可能会不太理想 box-shadow:10px 10px 10p #aaa; behavior:url(view/js/pie.htc) }
5.透明色rgba()失效
hack:pie.htc
.contaniner{ width:100px; height:100px; background:rgba(0,0,0,0.5); -pie-background:rgba(0,0,0,0.5); behavior:url(view/js/pie.htc); }
6. 有默认border
hack:在css文件中控制一下就好了,如
input[type="checkbox"] { border:none; }
7.顺便介绍一下过滤器filter,filter是一种用来过滤不同浏览器的hack类型。
(1)9 :所有IE浏览器都支持
(2)0 :IE8、IE9支持,opera部分支持
(3)90 :IE8部分支持、IE9支持
(4)09 :IE8、IE9支持
如:
background:#0f0;//chrome 、firefox 显示绿色 background\0:#00f ;//ie显示蓝色
相关推荐:
Das obige ist der detaillierte Inhalt vonCSS-Analyse von Browserkompatibilitätsproblemen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen











Die Verwendung von Bootstrap in Vue.js ist in fünf Schritte unterteilt: Startstrap installieren. Bootstrap in main.js. Verwenden Sie die Bootstrap -Komponente direkt in der Vorlage. Optional: benutzerdefinierter Stil. Optional: Verwenden Sie Plug-Ins.

WebdevelopmentRelieSonHtml, CSS und JavaScript: 1) HtmlStructuresContent, 2) CSSstylesit und 3) JavaScriptaddssinteraktivität, Bildung von TheBasisofModerernwebexperiences.

HTML definiert die Webstruktur, CSS ist für Stil und Layout verantwortlich, und JavaScript ergibt eine dynamische Interaktion. Die drei erfüllen ihre Aufgaben in der Webentwicklung und erstellen gemeinsam eine farbenfrohe Website.

React kombiniert JSX und HTML, um die Benutzererfahrung zu verbessern. 1) JSX bettet HTML ein, um die Entwicklung intuitiver zu gestalten. 2) Der virtuelle DOM -Mechanismus optimiert die Leistung und reduziert den DOM -Betrieb. 3) Komponentenbasierte Verwaltungs-Benutzeroberfläche zur Verbesserung der Wartbarkeit. 4) Staatsmanagement und Ereignisverarbeitung verbessern die Interaktivität.

Die Rollen von HTML, CSS und JavaScript in der Webentwicklung sind: 1. HTML definiert die Webseitenstruktur, 2. CSS steuert den Webseitenstil, und 3. JavaScript fügt ein dynamisches Verhalten hinzu. Zusammen bauen sie den Rahmen, die Ästhetik und die Interaktivität moderner Websites auf.

Die Zukunft von HTML ist voller unendlicher Möglichkeiten. 1) Neue Funktionen und Standards umfassen mehr semantische Tags und die Beliebtheit von Webcomponenten. 2) Der Webdesign -Trend entwickelt sich weiterhin für reaktionsschnelles und zugängliches Design. 3) Die Leistungsoptimierung verbessert die Benutzererfahrung durch reaktionsschnelle Bildlade- und faulen Ladetechnologien.

HTML ist der Eckpfeiler der Erstellung von Webseitenstruktur. 1. HTML definiert die Inhaltsstruktur und die Semantik und Verwendung usw. Tags. 2. Stellen Sie semantische Marker wie usw. zur Verfügung, um den SEO -Effekt zu verbessern. 3. Um die Benutzerinteraktion durch Tags zu verwirklichen, achten Sie auf die Verifizierung der Form. 4. Verwenden Sie fortschrittliche Elemente wie in Kombination mit JavaScript, um dynamische Effekte zu erzielen. 5. Zu den häufigen Fehlern gehören nicht abgegebene Bezeichnungen und nicht geeignete Attributwerte, und Überprüfungstools sind erforderlich. 6. Optimierungsstrategien umfassen das Reduzieren von HTTP -Anforderungen, die Komprimierung von HTML, die Verwendung semantischer Tags usw.

Bei der Entwicklung von Websites mit CraftCMS stoßen Sie häufig mit Ressourcendateiproblemen, insbesondere wenn Sie häufig CSS und JavaScript -Dateien aktualisieren, alte Versionen von Dateien möglicherweise weiterhin vom Browser zwischengespeichert. Dieses Problem wirkt sich nicht nur auf die Benutzererfahrung aus, sondern erhöht auch die Schwierigkeit der Entwicklung und des Debuggens. Kürzlich habe ich in meinem Projekt ähnliche Probleme gestoßen, und nach einigen Erkundungen fand ich das Plugin Wiejeben/Craft-Laravel-Mix, das mein Caching-Problem perfekt löste.
