• 关于

    css样式无效

    的搜索结果

回答

设置样式是css,attr是设置属性,不是在style里面的,div中没有background属性 $("#bodyerimg").css("background","url(images/imgs/bodyerimg5.jpeg)"); 要改用css,style设置的样式级别高于直接设置background属性的,就如color属性一样,有width属性的也是style中设置的有效。除非style没有设置过这个css <font color="red" style="color:black">我是黑色的,设置color属性无效</div>
吴孟桥 2019-12-02 02:28:40 0 浏览量 回答数 0

回答

首先,当media放尾部时,并没有完全生效,.h200的边框颜色并没有生效。这个问题在于CSS选择器优先级。具体规则就不讲了,请搜索CSS选择器优先级。当@media放前面,@media里的样式生效时.container { flex-wrap: wrap; align-items: flex-start; }此代码选择器的优先级与.container { display: flex; height: 500px; border: 1px solid #999; align-items: center; justify-content: space-between; }的优先级一样,放后面的有效,所以你的media里的代码无效。而在div.h200中,@media里的样式选择器.h200比.container div:last-child优先级低,所以无论@meida放前面还是后面都是无效的
杨冬芳 2019-12-02 02:40:49 0 浏览量 回答数 0

问题

CSS 样式无效

&lt;!DOCTYPE html&gt; &lt;html lang="en"&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;Document&lt;...
杨冬芳 2019-12-01 19:50:37 851 浏览量 回答数 1

回答

用开发工具看看样式就知道了, 说个debug这种悬停样式的小技巧吧(因为有的悬停是用js控制的, hover state无效) 首先打开另一个标签页备用, 回到页面上打开开发者工具, 鼠标放到元素上让悬停内容显示, 然后按Ctrl+Tab切换到刚才打开的另一个标签页(Mac下是cmd+tab), 接着把鼠标挪到页面外, 再切换页面, 此时页面上悬停还保持显示着, 就可以在开发者工具里查看样式了, 注意鼠标不要飘进页面不然悬停会消失. ######学到了,谢谢######用个透明png做背景不行吗?######我想用css做的,现在会了,谢谢######百度“CSS画三角形”,你想要什么形状的都可以找到######现在知道了,谢谢啊######如果只是文字提示的话,用title属性就好了,干嘛还要写css######需要有样式,只用titke不行 谢谢###### Tooltip ######谢谢各位
kun坤 2020-06-09 13:57:38 0 浏览量 回答数 0

回答

用JS来动态设置CSS样式,常见的有以下几种直接设置style的属性 某些情况用这个设置 !important值无效如果属性有'-'号,就写成驼峰的形式(如textAlign) 如果想保留 - 号,就中括号的形式 element.style['text-align'] = '100px';element.style.height = '100px';直接设置属性(只能用于某些属性,相关样式会自动识别)element.setAttribute('height', 100);element.setAttribute('height', '100px');设置style的属性element.setAttribute('style', 'height: 100px !important');使用setProperty 如果要设置!important,推荐用这种方法设置第三个参数element.style.setProperty('height', '300px', 'important');改变class 比如JQ的更改class相关方法因JS获取不到css的伪元素,所以可以通过改变伪元素父级的class来动态更改伪元素的样式element.className = 'blue';element.className += 'blue fb';设置cssTextelement.style.cssText = 'height: 100px !important';element.style.cssText += 'height: 100px !important';创建引入新的css样式文件 function addNewStyle(newStyle) { var styleElement = document.getElementById('styles_js'); if (!styleElement) { styleElement = document.createElement('style'); styleElement.type = 'text/css'; styleElement.id = 'styles_js'; document.getElementsByTagName('head')[0].appendChild(styleElement); } styleElement.appendChild(document.createTextNode(newStyle)); } addNewStyle('.box {height: 100px !important;}'); 使用addRule、insertRule// 在原有样式操作 document.styleSheets[0].addRule('.box', 'height: 100px'); document.styleSheets[0].insertRule('.box {height: 100px}', 0); // 或者插入新样式时操作 var styleEl = document.createElement('style'), styleSheet = styleEl.sheet; styleSheet.addRule('.box', 'height: 100px'); styleSheet.insertRule('.box {height: 100px}', 0); document.head.appendChild(styleEl); ps:来源网络
元芳啊 2019-12-02 00:54:56 0 浏览量 回答数 0

问题

CSS3 transform应用在fixed元素上无效?

在一个固定定位的元素上应用此样式无效-webkit-transform:perspective(400px) rotate3d(1, 0, 0, 90deg);元素height成为了0,之前已经显式的设置了100px的高度。有同学遇到过这种...
杨冬芳 2019-12-01 19:45:30 897 浏览量 回答数 1

问题

angular4用angularcli构建后添加bootstrap:报错

初学angular4,使用angularcli构建,添加了bootstrap后为什么样式无效,已经在angular.cli.json文件中添加 "styles": [        ...
kun坤 2020-06-14 07:36:47 0 浏览量 回答数 1

问题

angular4用angularcli构建后添加bootstrap - angular4报错

初学angular4,使用angularcli构建,添加了bootstrap后为什么样式无效,已经在angular.cli.json文件中添加 "styles": [        ...
montos 2020-06-02 23:21:21 0 浏览量 回答数 1

问题

<!--[if IE]><![endif]-->:报错

为什么在jsp页面中加上<!--[if IE]>css文件<![endif]--> 中间的的样式在ie中都无效呢?...
kun坤 2020-06-20 11:02:24 0 浏览量 回答数 1

问题

<!--[if IE]><![endif]-->:配置报错 

为什么在jsp页面中加上<!--[if IE]>css文件<![endif]--> 中间的的样式在ie中都无效呢?...
kun坤 2020-06-02 17:29:56 0 浏览量 回答数 1

问题

<a>的text-decoration设置无效

这是源码地址:https://github.com/349989153/h5Practice/blob/master/login.html可以在 http://htmlpreview.github.io 上直接预览此html文件。我的问题是...
a123456678 2019-12-01 19:32:29 941 浏览量 回答数 1

问题

怎么给<hr>元素设置粗细

下面是HTML的问题部分: &lt;div id="main"&gt; &lt;p&gt; &lt;h1&gt;领先的 Web 技术教程 - 全部免费&lt;/h1&gt; &lt;p&gt;*************&...
杨冬芳 2019-12-01 19:47:53 1413 浏览量 回答数 1

问题

新手的烦恼,怎么给<hr>元素设置粗细

下面是HTML的问题部分: &lt;div id="main"&gt; &lt;p&gt; &lt;h1&gt;领先的 Web 技术教程 - 全部免费&lt;/h1&gt; &lt;p&gt;*************&...
杨冬芳 2019-12-01 20:07:13 1013 浏览量 回答数 1

问题

jQuery查找、移除、生效CSS类403.10 禁止访问:配置无效

<li id="menu-item-13" class="menu-item menu-item-type-taxonomy menu-item-object-category current-...
kun坤 2020-05-27 20:03:00 5 浏览量 回答数 1

问题

jQuery查找、移除、生效CSS类

&lt;li id="menu-item-13" class="menu-item menu-item-type-taxonomy menu-item-object-category current-post-ancestor curren...
a123456678 2019-12-01 20:17:49 751 浏览量 回答数 1

问题

Android WebView 焦点橙色边框:配置报错

大神们您好,想请教一个问题,当Android使用WebView组建的时候, 里面的Html元素如 input  img select ...  获得焦点的时候都会有个黄色的边框 请问下如何去掉这个边框, *, *:active, *:fo...
kun坤 2020-06-03 14:52:25 4 浏览量 回答数 1

问题

动态添加的代码,jsp页引入的js和样式无效

在jsp中引入两个文件,js和css,audio.min.js用来解决ie低版本对audio兼容问题,index.css在解决不同浏览器中播放器样式不同问题,但他们对于根据需求动态添加的audio无法生效,这种情况应该怎么解决啊,代码如下 ...
小旋风柴进 2019-12-01 20:25:00 1101 浏览量 回答数 1

问题

动态添加的代码,jsp页引入的js和样式无效

在jsp中引入两个文件,js和css,audio.min.js用来解决ie低版本对audio兼容问题,index.css在解决不同浏览器中播放器样式不同问题,但他们对于根据需求动态添加的audio无法生效,这种情况应该怎么解决啊,代码如下 ...
小旋风柴进 2019-12-01 20:18:21 1224 浏览量 回答数 1

回答

1.代码规范 其中width="300px" height="300px"这种写法是不符合w3c规范的,用 The W3C Markup Validation Service 检测会报错。属性width、height的值是个非负数,直接写数字即可,如width="300" 2.width是img公认的(非自定义的)特性,会以属性的形式添加到DOM对象中,所以可以通过dom.attr的形式去操作属性值。 imgDom.width = value;//此处的value是个number类型的非负值,若value为其他值时,转化为0console.log(typeof imgDom.width)//为number类型 document.getElementById("iImg").width=600; //方式①,结果为 width="600"; 赋值成功 document.getElementById("iImg").width="600px";//结果为 width="0" 赋值失败 因为width是img的属性,所以当然也可以用下面这种形式赋值: document.getElementById("iImg").setAttribute("width", "600");//方式② 3.方式①②是通过改变img的属性值来改变图片的大小,也可以通过改变css样式来改变图片的大小,当两者同时改变,谁又占上风呢? document.getElementById("iImg").style.width='600px';//方式③,这个是带px的,图片width渲染成功document.getElementById("iImg").width=900;//只改变属性值,但不影响图片的大小 综上,如果只是改变图片显示的大小,可以使用上述三种方式来达到目的,当有css样式来控制图片大小的时候,属性值的改变不影响图片的实际渲染尺寸: document.getElementById("iImg").width=600;//方式①,通过改变属性值来改变图片大小document.getElementById("iImg").setAttribute("width", "600");//方式②,通过改变属性值来改变图片大小document.getElementById("iImg").style.width='600px';//方式③,通过css样式来改变图片大小 补充:方式①和方式②的区别当属性为自定义属性时,dom.attr的方式失效,如: SegmentFault document.getElementById("test").width; //undefineddocument.getElementById("test").width = 1200; //无效document.getElementById("div").setAttribute("width", "1200");//只能通过这种方式改变属性width的值,但不管怎么改变,都不会影响div的宽度值,因为width只是div的一个自定义属性
杨冬芳 2019-12-02 02:55:08 0 浏览量 回答数 0

问题

jQuery查找、移除、生效CSS类:报错

<li id="menu-item-13" class="menu-item menu-item-type-taxonomy menu-item-object-category current-...
kun坤 2020-06-06 22:58:35 1 浏览量 回答数 1

问题

jQuery查找、移除、生效CSS类 - jQuery报错

<li id="menu-item-13" class="menu-item menu-item-type-taxonomy menu-item-object-category current-...
montos 2020-05-31 09:33:54 0 浏览量 回答数 1

回答

1以ie6至少,如果写了DTD,就意味着这个页面将采用对CSS支持更好的布局,而如果没有,则采用兼容之前的布局方式。这就是Quirks模式(怪癖模式,诡异模式,怪异模式)。 2区别:总体会有布局,样式解析和脚本执行三个方面的区别。 设置一个元素的宽度和高度 给等行内元素设置width和height 用margin:0 auto设置水平居中 从IE6开始,修订了标准模式,标准模式中,浏览器尝试给符合标准的文档在规范上的正确处理达到指定的浏览器中的程度。 在IE6之前CSS还不够成熟,所以IE5等之前的浏览器对CSS的支持很差,IE6将对CSS提供更好的支持,而这时的问题就来了,因为有很多页面是基于旧的布局方式写的,而如果IE6支持CSS则将令这些页面显示不正常,如何在即保证不破坏现有页面,又提供新的渲染机制呢? 在写程序时我们也会经常遇到这样的问题,如何保证原来的接口不变,又提供更强大的功能,尤其是新功能不兼容旧功能时。遇到这种问题时的一个常见做法是IE6,增加参数和分支,即当某个参数为真时,我们就使用新功能,而如果这个参数不为真时,就使用旧功能,这样就能不破坏破坏的程序,又提供新功能。也是类似这么做的,因此DTD(文档类型定义)当成了这个“参数”,因为以前的页面大家都不会去写DTD,所以IE6就可以如果写了DTD,就意味着这个页面将采用对CSS支持更好的布局,而如果没有,则采用兼容之前的布局方式。这就是Quirks模式(怪癖模式,诡异模式,怪异模式)。 区别: 总体会有布局,样式解析和脚本执行三个方面的区别。 盒模型:在W3C标准中,如果设置一个元素的宽度和高度,指的是元素内容的宽度和高度,而在Quirks模式下,IE的宽度和高度还包含填充和边框。 设置行内元素的高宽:在标准模式下,给等行内元素设置wdith和height都不会生效,而在quirks模式下,可以实现。 设置百分比的高度:在标准模式下,一个元素的高度是由其包含的内容来决定的,如果父元素没有设置百分比的高度,子元素设置一个百分比的高度是无效的 用margin:0 auto设置水平居中:使用margin:0 auto在标准模式下可以使元素水平居中,但在quirks模式下却会失效。 (还有很多,答出什么不重要,关键是看他答出的这些是不是自己经验遇到的,还是说都是看文章看的,甚至完全不知道。)
茶什i 2019-12-02 03:16:06 0 浏览量 回答数 0

问题

前端进阶Bootstrap详解 【新手百问合集】

Bootstrap 提供了一个带有网格系统、链接样式、背景的基本结构,小编在这里为大家整理了一下常见的问题,希望能帮助到大家~1、bootstrap列偏移 https://yq.aliyun.com/ask/594212、关于j...
马铭芳 2019-12-01 20:09:03 6816 浏览量 回答数 3

回答

  开发者们都知道在高端智能手机系统中有两种应用程序:一种是基于本地(操作系统)运行的APP;一种是基于高端机的浏览器运行的WebApp,本文将主要讲解后者。   WebApp与Native App有何区别呢?   Native App:   1、开发成本非常大。   一般使用的开发语言为JAVA、C++、Objective-C。   2、更新体验较差、同时也比较麻烦   每一次发布新的版本,都需要做版本打包,且需要用户手动更新(有些应用程序即使不需要用户手动更新,但是也需要有一个恶心的提示)。   3、非常酷   因为native app可以调用IOS中的UI控件以UI方法,它可以实现WebApp无法实现的一些非常酷的交互效果   4、Native app是被Apple认可的   Native app可以被Apple认可为一款可信任的独立软件,可以放在Apple Stroe出售,但是Web app却不行。   Web App:   1、开发成本较低   使用web开发技术就可以轻松的完成web app的开发   2、升级较简单   升级不需要通知用户,在服务端更新文件即可,用户完全没有感觉   3、维护比较轻松   和一般的web一样,维护比较简单,它其实就是一个站点   Webapp说白了就是一个针对Iphone、Android优化后的web站点,它使用的技术无非就是HTML或HTML5、CSS3、JavaScript,服务端技术JAVA、PHP、ASP。   当然,因为这些高端智能手机(Iphone、Android)的内置浏览器都是基于webkit内核的,所以在开发WEBAPP时,多数都是使用HTML5和CSS3技术做UI布局。当使用HTML5和CSS3l做UI时,若还是遵循着一般web开发中使用HTML4和CSS2那样的开发方式的话,这也就失去了WEBAPP的本质意义了,且有些效果也无法实现的,所以在此又回到了我们的主题–webapp的布局方式和技术。   哥在此说明一下,在此所说的移动平台前端开发是指针对高端智能手机(如Iphone、Android)做站点适配也就是WebApp,并非是针对普通手机开发Wap 2.0,所以在阅读本篇文章以前,你需要对webkit内核的浏览器有一定的了解,你需要对HTML5和CSS3有一定的了解。如果你已经对此有所了解,那现在就开始往下阅读吧……   1、首先我们来看看webkit内核中的一些私有的meta标签,这些meta标签在开发webapp时起到非常重要的作用   1   <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;" name="viewport" />   2   <meta content="yes" name="apple-mobile-web-app-capable" />   3   <meta content="black" name="apple-mobile-web-app-status-bar-style" />   4   <meta content="telephone=no" name="format-detection" />      第一个meta标签表示:强制让文档的宽度与设备的宽度保持1:1,并且文档最大的宽度比例是1.0,且不允许用户点击屏幕放大浏览;   第二个meta标签是iphone设备中的safari私有meta标签,它表示:允许全屏模式浏览;   第三个meta标签也是iphone的私有标签,它指定的iphone中safari顶端的状态条的样式;   第四个meta标签表示:告诉设备忽略将页面中的数字识别为电话号码   2、HTML5标签的使用   在开始编写webapp时,哥建议前端工程师使用HTML5,而放弃HTML4,因为HTML5可以实现一些HTML4中无法实现的丰富的WEB应用程序的体验,可以减少开发者很多的工作量,当然了你决定使用HTML5前,一定要对此非常熟悉,要知道HTML5的新标签的作用。比如定义一块内容或文章区域可使用section标签,定义导航条或选项卡可以直接使用nav标签等等。   3、放弃CSS float属性   在项目开发过程中可以会遇到内容排列排列显示的布局(见下图),假如你遇见这样的视觉稿,哥建议你放弃float,可以直接使用display:block;   4、利用CSS3边框背景属性   这个按钮有圆角效果,有内发光效果还有高光效果,这样的按钮使用CSS3写是无法写出来的,当然圆角可以使用CSS3来写,但高光和内发光却无法使用CSS3编写,   这个时候你不妨使用-webkit-border-image来定义这个按钮的样式。   -webkit-border-image就个很复杂的样式属性。   5、块级化a标签   请保证将每条数据都放在一个a标签中,为何这样做?因为在触控手机上,为提升用户体验,尽可能的保证用户的可点击区域较大。   6、自适应布局模式   在编写CSS时,我不建议前端工程师把容器(不管是外层容器还是内层)的宽度定死。为达到适配各种手持设备,我建议前端工程师使用自适应布局模式(支付宝采用了自适应布局模式),因为这样做可以让你的页面在ipad、itouch、ipod、iphone、android、web safarik、chrome都能够正常的显示,你无需再次考虑设备的分辨率。      7、学会使用webkit-box   上一节,我们说过自适应布局模式,有些同学可能会问:如何在移动设备上做到完全自适应呢?很感谢webkit为display属性提供了一个webkit-box的值,它可以帮助前端工程师做到盒子模型灵活控制。   8、如何去除Android平台中对邮箱地址的识别   看过iOS webapp API的同学都知道iOS提供了一个meta标签:用于禁用iOS对页面中电话号码的自动识别。在iOS中是不自动识别邮件地址的,但在Android平台,它会自动检测邮件地址,当用户touch到这个邮件地址时,Android会弹出一个框提示用户发送邮件,如果你不想Android自动识别页面中的邮件地址,你不妨加上这样一句meta标签在head中   1   <meta content="email=no" name="format-detection" />      9、如何去除iOS和Android中的输入URL的控件条   你的老板或者PD或者交互设计师可能会要求你:能否让我们的webapp更加像nativeapp,我不想让用户看见那个输入url的控件条?   答案是可以做到的。我们可以利用一句简单的javascript代码来实现这个效果   1   setTimeout(scrollTo,0,0,0);      请注意,这句代码必须放在window.onload里才能够正常的工作,而且你的当前文档的内容高度必须是高于窗口的高度时,这句代码才能有效的执行。   10、如何禁止用户旋转设备   我曾经也想禁止用户旋转设备,也想实现像某些客户端那样:只能在肖像模式或景观模式下才能正常运行。但现在我可以很负责任的告诉你:别想了!在移动版的webkit中做不到!   至少Apple webapp API已经说到了:我们为了让用户在safari中正常的浏览网页,我们必须保证用户的设备处于任何一个方位时,safari都能够正常的显示网页内容(也就是自适应),所以我们禁止开发者阻止浏览器的orientationchange事件,看来苹果公司的出发点是正确的,苹果确实不是一般的苹果。   iOS已经禁止开发者阻止orientationchange事件,那Android呢?对不起,我没有找到任何资料说Android禁止开发者阻止浏览器orientationchange事件,但是在Android平台,确实也是阻止不了的。   11、如何检测用户是通过主屏启动你的webapp   看过Apple webapp API的同学都知道iOS为safari提供了一个将当前页面添加主屏的功能,按下iphoneipodipod touch底部工具中的小加号,或者ipad顶部左侧的小加号,就可以将当前的页面添加到设备的主屏,在设备的主屏会自动增加一个当前页面的启动图标,点击该启动图标就可以快速、便捷的启动你的webapp。从主屏启动的webapp和浏览器访问你的webapp最大的区别是它清除了浏览器上方和下方的工具条,这样你的webapp就更加像是nativeapp了,还有一个区别是window对像中的navigator子对象的一个standalone属性。iOS中浏览器直接访问站点时,navigator.standalone为false,从主屏启动webapp时,navigator.standalone为true, 我们可以通过navigator.standalone这个属性获知用户当前是否是从主屏访问我们的webapp的。   在Android中从来没有添加到主屏这回事!   12、如何关闭iOS中键盘自动大写   我们知道在iOS中,当虚拟键盘弹出时,默认情况下键盘是开启首字母大写的功能的,根据某些业务场景,可能我们需要关闭这个功能,移动版本webkit为input元素提供了autocapitalize属性,通过指定autocapitalize=”off”来关闭键盘默认首字母大写。      13、iOS中如何彻底禁止用户在新窗口打开页面   有时我们可能需要禁止用户在新窗口打开页面,我们可以使用a标签的target=”_self“来指定用户在新窗口打开,或者target属性保持空,但是你会发现iOS的用户在这个链接的上方长按3秒钟后,iOS会弹出一个列表按钮,用户通过这些按钮仍然可以在新窗口打开页面,这样的话,开发者指定的target属性就失效了,但是可以通过指定当前元素的-webkit-touch-callout样式属性为none来禁止iOS弹出这些按钮。这个技巧仅适用iOS对于Android平台则无效。   14、iOS中如何禁止用户保存图片\复制图片   我们在第13条技巧中提到元素的-webkit-touch-callout属性,同样为一个img标签指定-webkit-touch-callout为none也会禁止设备弹出列表按钮,这样用户就无法保存\复制你的图片了。   15、iOS中如何禁止用户选中文字   我们通过指定文字标签的-webkit-user-select属性为none便可以禁止iOS用户选中文字。   16、iOS中如何获取滚动条的值   桌面浏览器中想要获取滚动条的值是通过document.scrollTop和document.scrollLeft得到的,但在iOS中你会发现这两个属性是未定义的,为什么呢?因为在iOS中没有滚动条的概念,在Android中通过这两个属性可以正常获取到滚动条的值,那么在iOS中我们该如何获取滚动条的值呢?   通过window.scrollY和window.scrollX我们可以得到当前窗口的y轴和x轴滚动条的值。   17、如何解决盒子边框溢出   当你指定了一个块级元素时,并且为其定义了边框,设置了其宽度为100%。在移动设备开发过程中我们通常会对文本框定义为宽度100%,将其定义为块级元素以实现全屏自适应的样式,但此时你会发现,该元素的边框(左右)各1个像素会溢了文档,导致出现横向滚动条,为解决这一问题,我们可以为其添加一个特殊的样式-webkit-box-sizing:border-box;用来指定该盒子的大小包括边框的宽度。   18、如何解决Android 2.0以下平台中圆角的问题   如果大家够细心的话,在做wap站点开发时,大家应该会发现android 2.0以下的平台中问题特别的多,比如说边框圆角这个问题吧。   在对一个元素定义圆角时,为完全兼容android 2.0以下的平台,我们必须要按照以下技巧来定义边框圆角:   1\-webkit这个前缀必须要加上(在iOS中,你可以不加,但android中一定要加);   2\如果对针对边框做样式定义,比如border:1px solid #000;那么-webkit-border-radius这属性必须要出现在border属性后。   3\假如我们有这样的视觉元素,左上角和右上角是圆角时,我们必须要先定义全局的(4个角的圆角值)-webkit-border-radius:5px;然后再依次的覆盖左下角和右下角,-webkit-border-bottom-left-radius:0;-webkit-border-bottom-right-border:0;否则在android 2.0以下的平台中将全部显示直角,还有记住!-webkit这个前缀一定要加上!   19、如何解决android平台中页面无法自适应   虽然你的html和css都是完全自适应的,但有一天如果你发现你的页面在android中显示的并不是自适应的时候,首先请你确认你的head标签中是否包含以下meta标签:   1   <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0;" />      如果有的话,那请你再仔细的看清楚有没有这个属性的值width=device-width,如果没有请立即加上吧!   20、如何解决iOS 4.3版本中safari对页面中5位数字的自动识别和自动添加样式   新的iOS系统也就是4.3版本,升级后对safari造成了一个bug:即使你添加了如下的meta标签,safari仍然会对页面中的5位连续的数字进行自动识别,并且将其重新渲染样式,也就是说你的css对该标签是无效的。   1   <meta name="format-detection" content="telphone=no" />      我们可以用一个比较龌龊的办法来解决。比如说支付宝wap站点中显示金额的标签,我们都做了如下改写:   1   <button class="t-balance"style="background:none;padding:0;border:0;">95009.00</button>元    “答案来源于网络,供您参考” 希望以上信息可以帮到您!
牧明 2019-12-02 02:17:31 0 浏览量 回答数 0

回答

意思就是IE可以识别、 条件注释的基本结构和HTML的注释(<!-- -->)是一样的。因此IE以外的浏览器将会把它们看作是普通的注释而完全忽略它们。 ###### 因为那些样式本来就在ie中无效啊 ###### IE对CSS的hack,可以用来区分IE各种版本   <!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]-->   <!--[if IE]> 所有的IE可识别 <![endif]-->   <!--[if IE 5.0]> 只有IE5.0可以识别 <![endif]-->   <!--[if IE 5]> 仅IE5.0与IE5.5可以识别 <![endif]-->   <!--[if gt IE 5.0]> IE5.0以及IE5.0以上版本都可以识别 <![endif]-->   <!--[if IE 6]> 仅IE6可识别 <![endif]-->   <!--[if lt IE 6]> IE6以及IE6以下版本可识别 <![endif]-->   <!--[if gte IE 6]> IE6以及IE6以上版本可识别 <![endif]-->   <!--[if IE 7]> 仅IE7可识别 <![endif]-->   <!--[if lt IE 7]> IE7以及IE7以下版本可识别 <![endif]-->   <!--[if gte IE 7]> IE7以及IE7以上版本可识别 <![endif]--> 更新版本可以类推. ###### 引用来自“伊藤熊吉”的答案 因为那些样式本来就在ie中无效啊 没看清吧 if ie ###### 引用来自“飞炀”的答案 IE对CSS的hack,可以用来区分IE各种版本   <!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]-->   <!--[if IE]> 所有的IE可识别 <![endif]-->   <!--[if IE 5.0]> 只有IE5.0可以识别 <![endif]-->   <!--[if IE 5]> 仅IE5.0与IE5.5可以识别 <![endif]-->   <!--[if gt IE 5.0]> IE5.0以及IE5.0以上版本都可以识别 <![endif]-->   <!--[if IE 6]> 仅IE6可识别 <![endif]-->   <!--[if lt IE 6]> IE6以及IE6以下版本可识别 <![endif]-->   <!--[if gte IE 6]> IE6以及IE6以上版本可识别 <![endif]-->   <!--[if IE 7]> 仅IE7可识别 <![endif]-->   <!--[if lt IE 7]> IE7以及IE7以下版本可识别 <![endif]-->   <!--[if gte IE 7]> IE7以及IE7以上版本可识别 <![endif]--> 更新版本可以类推. 我也是在网上找到这个了,类似。。怎么试  在ie中 css都没有生效 ###### 引用来自“javacc”的答案 引用来自“飞炀”的答案 IE对CSS的hack,可以用来区分IE各种版本   <!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]-->   <!--[if IE]> 所有的IE可识别 <![endif]-->   <!--[if IE 5.0]> 只有IE5.0可以识别 <![endif]-->   <!--[if IE 5]> 仅IE5.0与IE5.5可以识别 <![endif]-->   <!--[if gt IE 5.0]> IE5.0以及IE5.0以上版本都可以识别 <![endif]-->   <!--[if IE 6]> 仅IE6可识别 <![endif]-->   <!--[if lt IE 6]> IE6以及IE6以下版本可识别 <![endif]-->   <!--[if gte IE 6]> IE6以及IE6以上版本可识别 <![endif]-->   <!--[if IE 7]> 仅IE7可识别 <![endif]-->   <!--[if lt IE 7]> IE7以及IE7以下版本可识别 <![endif]-->   <!--[if gte IE 7]> IE7以及IE7以上版本可识别 <![endif]--> 更新版本可以类推. 我也是在网上找到这个了,类似。。怎么试  在ie中 css都没有生效 <!--[if !IE]>不是<!--[if! IE]>
kun坤 2020-06-02 17:30:03 0 浏览量 回答数 0

回答

p> 意思就是IE可以识别、 条件注释的基本结构和HTML的注释(<!-- -->)是一样的。因此IE以外的浏览器将会把它们看作是普通的注释而完全忽略它们。 ###### 因为那些样式本来就在ie中无效啊 ###### IE对CSS的hack,可以用来区分IE各种版本   <!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]-->   <!--[if IE]> 所有的IE可识别 <![endif]-->   <!--[if IE 5.0]> 只有IE5.0可以识别 <![endif]-->   <!--[if IE 5]> 仅IE5.0与IE5.5可以识别 <![endif]-->   <!--[if gt IE 5.0]> IE5.0以及IE5.0以上版本都可以识别 <![endif]-->   <!--[if IE 6]> 仅IE6可识别 <![endif]-->   <!--[if lt IE 6]> IE6以及IE6以下版本可识别 <![endif]-->   <!--[if gte IE 6]> IE6以及IE6以上版本可识别 <![endif]-->   <!--[if IE 7]> 仅IE7可识别 <![endif]-->   <!--[if lt IE 7]> IE7以及IE7以下版本可识别 <![endif]-->   <!--[if gte IE 7]> IE7以及IE7以上版本可识别 <![endif]--> 更新版本可以类推. ###### 引用来自“伊藤熊吉”的答案 因为那些样式本来就在ie中无效啊 没看清吧 if ie ###### 引用来自“飞炀”的答案 IE对CSS的hack,可以用来区分IE各种版本   <!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]-->   <!--[if IE]> 所有的IE可识别 <![endif]-->   <!--[if IE 5.0]> 只有IE5.0可以识别 <![endif]-->   <!--[if IE 5]> 仅IE5.0与IE5.5可以识别 <![endif]-->   <!--[if gt IE 5.0]> IE5.0以及IE5.0以上版本都可以识别 <![endif]-->   <!--[if IE 6]> 仅IE6可识别 <![endif]-->   <!--[if lt IE 6]> IE6以及IE6以下版本可识别 <![endif]-->   <!--[if gte IE 6]> IE6以及IE6以上版本可识别 <![endif]-->   <!--[if IE 7]> 仅IE7可识别 <![endif]-->   <!--[if lt IE 7]> IE7以及IE7以下版本可识别 <![endif]-->   <!--[if gte IE 7]> IE7以及IE7以上版本可识别 <![endif]--> 更新版本可以类推. 我也是在网上找到这个了,类似。。怎么试  在ie中 css都没有生效 ###### 引用来自“javacc”的答案 引用来自“飞炀”的答案 IE对CSS的hack,可以用来区分IE各种版本   <!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]-->   <!--[if IE]> 所有的IE可识别 <![endif]-->   <!--[if IE 5.0]> 只有IE5.0可以识别 <![endif]-->   <!--[if IE 5]> 仅IE5.0与IE5.5可以识别 <![endif]-->   <!--[if gt IE 5.0]> IE5.0以及IE5.0以上版本都可以识别 <![endif]-->   <!--[if IE 6]> 仅IE6可识别 <![endif]-->   <!--[if lt IE 6]> IE6以及IE6以下版本可识别 <![endif]-->   <!--[if gte IE 6]> IE6以及IE6以上版本可识别 <![endif]-->   <!--[if IE 7]> 仅IE7可识别 <![endif]-->   <!--[if lt IE 7]> IE7以及IE7以下版本可识别 <![endif]-->   <!--[if gte IE 7]> IE7以及IE7以上版本可识别 <![endif]--> 更新版本可以类推. 我也是在网上找到这个了,类似。。怎么试  在ie中 css都没有生效 <!--[if !IE]>不是<!--[if! IE]>
kun坤 2020-06-20 11:02:34 0 浏览量 回答数 0

问题

IE6下的几大灵异事件(欢迎补充)403.10 禁止访问:配置无效

虽说IE6各种诡异各种让人不爽,但面对那些坚持使用IE6的顽固分子,问题还得解决。  收集了几个经常会碰到的IE6下特别诡异的现象及解决办法,欢迎大家补充! 1.  z-index无...
kun坤 2020-05-27 18:06:43 4 浏览量 回答数 1

回答

概述 App() 代表顶层应用,管理所有页面和全局数据,以及提供生命周期回调等。它 也是一个构造方法,生成 App 实例。 一个小程序就是一个 App 实例。 每个小程序顶层一般包含三个文件。  app.json:应用配置  app.js:应用逻辑  app.acss:应用样式(可选) 简单示例 一个简单的 app.json 代码如下: "pages": [ "pages/index/index", "pages/logs/logs" ], "window": { "defaultTitle": "Demo" } } 这段代码配置指定小程序包含两个页面(index 和 logs),以及应用窗口的默认 标题设置为 “Demo”。 一个简单的 app.js 代码如下: onLaunch(options) { // 第一次打开 }, onShow(options) { // 小程序启动,或从后台被重新打开 }, onHide() { // 小程序从前台进入后台 }, onError(msg) { // 小程序发生脚本错误或 API 调用出现报错 console.log(msg); }, globalData: { // 全局数据 name: 'alipay', }, }); 26 app.json 全局配置 app.json 用于对小程序进行全局配置,设置页面文件的路径、窗口表现、多 tab 等。 以下是一个基本配置示例: "pages": [ "pages/index/index", "pages/logs/index" ], "window": { "defaultTitle": "Demo" } } 完整配置项如下: 属性 类型 是否必填 描述 pages Array 是 设置页面路径 window Object 否 设置默认页面的窗 口表现 tabBar Object 否 设置底部 tabbar 的表现 pages app.json 中的 pages 为数组属性,数组中每一项都是字符串,用于指定小程序 的页面。在小程序中新增或删除页面,都需要对 pages 数组进行修改。 pages 数组的每一项代表对应页面的路径信息,其中,第一项代表小程序的首 页。 页面路径不需要写任何后缀,框架会自动去加载同名的 .json、.js、.axml、.acss 文件。举例来说,如果开发目录为: │ ├──index │ │ ├── index.json │ │ ├── index.js │ │ ├── index.axml │ │ └── index.acss │ ├──logs │ │ ├── logs.json │ │ ├── logs.js │ │ └── logs.axml ├── app.json ├── app.js └── app.acss app.json 中应当如下配置: { "pages":[ "pages/index/index", "pages/logs/logs" ] } window window 用于设置小程序的状态栏、导航条、标题、窗口背景色等。 示例代码: { "window":{ "defaultTitle": "支付宝接口功能演示" } } 属性 类型 是否必 填 描述 最低版本 defaultTitle String 否 页面默认标题 - pullRefresh String 否 是否允许下拉刷新。默认 NO, 备注:下拉刷新生效的 前提是 allowsBounceVertical 值 为 YES allowsBounceV ertical String 否 是否允许向下拉拽。默认 YES, 支持 YES / NO 28 transparentTitl e String 否 导航栏透明设置。默认 none,支持 always 一直透 明 / auto 滑动自适应 / none 不透明 titlePenetrate String 否 是否允许导航栏点击穿透。 默认 NO,支持 YES / NO showTitleLoadi ng String 否 是否进入时显示导航栏的 loading。默认 NO,支持 YES / NO titleImage String 否 导航栏图片地址 - titleBarColor HexCol or 否 导航栏背景色,十六进制颜 色值(0-255) - backgroundCol or HexCol or 否 页面的背景色,十六进制颜 色值(0-255) - backgroundIm ageColor HexCol or 否 下拉露出显示的背景图底 色,十六进制颜色值(0- 255) - backgroundIm ageUrl String 否 下拉露出显示的背景图链接 - gestureBack String 否 iOS 用,是否支持手势返 回。默认 NO,支持 YES / NO enableScrollBa r Boolea n 否 Android 用,是否显示 WebView 滚动条。默认 YES,支持 YES / NO onReachBotto mDistance Number 否 页面上拉触底时触发时距离 页面底部的距离,单位为 px。相关文档页面事件处理 函数 1.19.0 ,目前 iOS 在 page.json 下设 置无效,只能全 局设置。 29 tabBar 如果你的小程序是一个多 tab 应用(客户端窗口的底部栏可以切换页面),那么 可以通过 tabBar 配置项指定 tab 栏的表现,以及 tab 切换时显示的对应页 面。 注意:  通过页面跳转(my.navigateTo)或者页面重定向(my.redirectTo)所到达的页面,即使 它是定义在 tabBar 配置中的页面,也不会显示底部的 tab 栏。  tabBar 的第一个页面必须是首页。 tabBar 配置项有以下: 属性 类型 是否必填 描述 textColor HexColor 否 文字颜色 selectedColor HexColor 否 选中文字颜色 backgroundColor HexColor 否 背景色 items Array 是 每个 tab 配置 每个 item 配置: 属性 类型 是否必填 描述 pagePath String 是 设置页面路径 name String 是 名称 icon String 否 平常图标路径 activeIcon String 否 高亮图标路径 icon 图标推荐大小为 60×60 px 大小,系统会对传入的非推荐尺寸的图片进行非 等比拉伸或缩放。 示例代码: "tabBar": { 30 "textColor": "#dddddd", "selectedColor": "#49a9ee", "backgroundColor": "#ffffff", "items": [ { "pagePath": "pages/index/index", "name": "首页" }, { "pagePath": "pages/logs/logs", "name": "日志" } ] } } app.acss 全局样式 app.acss 作为全局样式,作用于当前小程序的所有页面。 ACSS 是一套样式语言,用于描述 AXML 的组件样式,决定 AXML 的组件的显 示效果。 为适应广大前端开发者,ACSS 和 CSS 规则完全一致,100% 可以用。同时为更 适合开发小程序,对 CSS 进行了扩充。 ACSS 支持 px,rpx,vh,vw 等单位。 rpx rpx(responsive pixel)可以根据屏幕宽度进行自适应,规定屏幕宽为 750rpx。以 Apple iPhone6 为例,屏幕宽度为 375px,共有 750 个物理像 素,则 750rpx = 375px = 750 物理像素,1rpx = 0.5px = 1 物理像素。 设备 rpx 换算 px(屏幕宽度 / 750) px 换算 rpx(750 / 屏幕宽 度) iPhone5 1rpx = 0.42px 1px = 2.34rpx iPhone6 1rpx = 0.5px 1px = 2rpx iPhone6 Plus 1rpx = 0.552px 1px = 1.81rpx 样式导入 使用 @import 语句可以导入外联样式表,@import 后需要加上外联样式表相对 路径,用;表示结束。 示例代码: .sm-button { padding: 5px; } /** app.acss **/ @import "./button.acss"; .md-button { padding: 15px; } 导入路径支持从 node_modules 目录载入第三方模块,例如 page.acss: @import "./button.acss"; /相对路径/ 32 @import "/button.acss"; /项目绝对路径/ @import "third-party/page.acss"; /第三方 npm 包路径/ 内联样式 组件上支持使用 style、class 属性来控制样式。 style 属性 用于接收动态样式,样式在运行时会进行解析。行内样式不支持!important 优先 级规则。 class 属性 用于接收静态样式,属性值是样式规则中类选择器名(样式类名)的集合,样式类 名不需要带上.,多个类名间以空格分隔。请静态样式写进 class 中,避免将静态 样式写进 style 中,以免影响渲染速度。 选择器 同 CSS3 保持一致。 注意:  .a-, .am- 开头的类选择器为系统组件占用,不可使用。  不支持属性选择器。 全局样式与局部样式  app.acss 中的样式为全局样式,作用于每一个页面。  页面文件夹内的 .acss 文件中定义的样式为局部样式,只作用在对应的页面,并会覆盖 app.acss 中相同的选择器。 本地资源引用 ACSS 文件里的本地资源引用请使用绝对路径的方式,不支持相对路径引用。例 如: /* 支持 / background-image: url('/images/ant.png'); / 不支持 */ background-image: url('./images/ant.png'); 33 app.js 注册小程序 App(object: Object) App() 用于注册小程序,接受一个 Object 作为属性,用来配置小程序的生命周 期等。 App() 必须在 app.js 中调用,必须调用且只能调用一次。 object 属性说明 属性 类型 描述 触发时机 onLaunch Function 生命周期回调:监 听小程序初始化 当小程序初始化完 成时触发,全局只 触发一次 onShow Function 生命周期回调:监 听小程序显示 当小程序启动,或 从后台进入前台显 示时触发 onHide Function 生命周期回调:监 听小程序隐藏 当当前页面被隐藏 时触发,例如跳 转、按下设备 Home 键离开 onError Function 监听小程序错误 当小程序发生 js 错误时触发 onShareAppMessage Function 全局分享配置 - 前台/后台定义:  小程序用户点击右上角关闭,或者按下设备 Home 键离开支付宝时,小程序并不会直接销 毁,而是进入后台。  当用户再次进入支付宝或再次打开小程序时,小程序会从后台进入前台。  只有当小程序进入后台 5 分钟后,或占用系统资源过高,才会被真正销毁。 onLaunch(object: Object) 及 onShow(object: Object) object 属性说明: 属性 类型 描述 34 query Object 当前小程序的 query,从启动参数的 query 字段解析而来 scene number 启动小程序的 场景值 path string 当前小程序的页面地址,从启动参数 page 字段解析而来,page 忽略时默认为首页 referrerInfo Object 来源信息 比如,启动小程序的 schema url 如下: alipays://platformapi/startapp?appId=1999&query=number%3D1&page=x%2Fy%2 Fz  小程序首次启动时,onLaunch 方法可获取 query、path 属性值。  小程序在后台被用 schema 打开,也可从 onShow 方法中获取 query、path 属性值。 App({ onLaunch(options) { // 第一次打开 console.log(options.query); // {number:1} console.log(options.path); // x/y/z }, onShow(options) { // 从后台被 schema 重新打开 console.log(options.query); // {number:1} console.log(options.path); // x/y/z }, }); referrerInfo 子属性说明: 属性 类型 描述 最低版本 appId string 来源小程序 - sourceServiceId string 来源插件,当处于插件运行模式时可见 1.11.0 35 extraData Object 来源小程序传过来的数据。 - 注意:  不要在 onShow 中进行 redirectTo 或 navigateTo 等操作页面栈的行为。  不要在 onLaunch 里调用 getCurrentPages(),因为此时 page 还未生成。 onHide() 小程序从前台进入后台时触发 onHide() 。 示例代码: App({ onHide() { // 进入后台时 console.log('app hide'); }, }); onError(error: String) 小程序发生脚本错误时触发。 示例代码: App({ onError(error) { // 小程序执行出错时 console.log(error); }, }); onShareAppMessage(object: Object) 全局分享配置。当页面未设置 page.onShareAppMessage 时,调用分享会执行 全局的分享设置,具体见 分享 。 globalData 全局数据 App() 中可以设置全局数据 globalData。 示例代码: // app.js App({ globalData: 1 }); getApp 方法 小程序提供了全局的 getApp() 方法,可获取当前小程序实例,一般用于在子页 面中获取顶层应用。 var app = getApp(); console.log(app.globalData); // 获取 globalData 使用过程中,请注意以下几点:  App() 函数中不可以调用 getApp(),可使用 this 可以获取当前小程序实例。  通过 getApp() 获取实例后,请勿私自调用生命周期回调函数。  请区分全局变量及页面局部变量,比如: // app.js App({ //定义全局变量 globalData,在整个 App 中有效 globalData: 1 }); // a.js // 定义页面局部变量 localValue,只在 a.js 有效 var localValue = 'a'; // 获取 app 实例 var app = getApp(); // 拿到全局数据,并改变它 app.globalData++; // b.js // 定义页面局部变量 localValue,只在 b.js 有效 var localValue = 'b'; // 如果 a.js 先运行,globalData 会返回 2 console.log(getApp().globalData); a.js 和 b.js 两个文件中都声明了变量 localValue,但并不会互相影响,因为各 个文件声明的局部变量和函数只在当前文件下有效。 内容来源:https://developer.aliyun.com/article/756818?spm=a2c6h.12873581.0.dArticle756818.26162b70Su1GZy&groupCode=tech_library
KaFei 2020-04-27 13:54:36 0 浏览量 回答数 0

回答

原生XML扩展 我更喜欢使用其中一个原生XML扩展,因为它们与PHP捆绑在一起,通常比所有第三方库更快,并且在标记上给我所需的所有控制权。 DOM DOM扩展允许您使用PHP 5通过DOM API操作XML文档。它是W3C的文档对象模型核心级别3的实现,这是一个平台和语言中立的接口,允许程序和脚本动态访问和更新文件的内容,结构和风格。 DOM能够解析和修改现实世界(破碎)的HTML,并且可以执行XPath查询。它基于libxml。 使用DOM需要一些时间才能提高效率,但这个时间非常值得IMO。由于DOM是一个与语言无关的接口,因此您可以找到多种语言的实现,因此如果您需要更改编程语言,那么您很可能已经知道如何使用该语言的DOM API。 一个基本的用法示例可以在抓取A元素的href属性中找到,一般的概念概述可以在php的DOMDocument中找到 StackOverflow上已经广泛介绍了如何使用DOM扩展,因此如果您选择使用它,您可以确定您遇到的大多数问题都可以通过搜索/浏览Stack Overflow来解决。 XMLReader的 XMLReader扩展是一个XML pull解析器。读取器在文档流上作为光标前进,并在途中停在每个节点上。 与DOM一样,XMLReader基于libxml。我不知道如何触发HTML解析器模块,因此使用XMLReader解析损坏的HTML的可能性可能不如使用DOM,因为您可以明确告诉它使用libxml的HTML解析器模块。 使用php从h1标签获取所有值时,可以找到一个基本用法示例 XML解析器 此扩展允许您创建XML解析器,然后为不同的XML事件定义处理程序。每个XML解析器还有一些您可以调整的参数。 XML Parser库也基于libxml,并实现了SAX样式的XML推送解析器。它可能是比DOM或SimpleXML更好的内存管理选择,但是比XMLReader实现的pull解析器更难以使用。 SimpleXML的 SimpleXML扩展提供了一个非常简单且易于使用的工具集,用于将XML转换为可以使用普通属性选择器和数组迭代器处理的对象。 当您知道HTML是有效的XHTML时,SimpleXML是一个选项。如果你需要解析破碎的HTML,甚至不要考虑SimpleXml,因为它会窒息。 一个基本的用法示例可以在一个简单的CRUD节点程序和xml文件的节点值中找到,PHP手册中还有很多其他的例子。 第三方库(基于libxml) 如果您更喜欢使用第三方库,我建议使用实际上使用DOM / libxml而不是字符串解析的库。 FluentDom - 回购 FluentDOM为PHP中的DOMDocument提供了类似jQuery的流畅XML接口。选择器是用XPath或CSS编写的(使用CSS到XPath转换器)。当前版本扩展了DOM实现标准接口并添加了DOM Living Standard的功能。FluentDOM可以加载JSON,CSV,JsonML,RabbitFish等格式。可以通过Composer安装。 HtmlPageDom Wa72 \ HtmlPageDom`是一个用于轻松操作HTML文档的PHP库。它需要来自Symfony2组件的DomCrawler来遍历DOM树,并通过添加操作HTML文档的DOM树的方法来扩展它。 phpQuery(多年未更新) phpQuery是一个服务器端,可链接,CSS3选择器驱动的文档对象模型(DOM)API,基于用PHP5编写的jQuery JavaScript库,并提供额外的命令行界面(CLI)。 另见:https://github.com/electrolinux/phpquery Zend_Dom Zend_Dom提供了处理DOM文档和结构的工具。目前,我们提供Zend_Dom_Query,它提供了一个统一的界面,可以使用XPath和CSS选择器查询DOM文档。 的QueryPath QueryPath是一个用于操作XML和HTML的PHP​​库。它不仅适用于本地文件,还适用于Web服务和数据库资源。它实现了许多jQuery接口(包括CSS样式的选择器),但它在服务器端使用时经过了大量调整。可以通过Composer安装。 fDOMDocument fDOMDocument扩展了标准DOM,以便在所有错误情况下使用异常,而不是PHP警告或通知。为方便起见,他们还添加了各种自定义方法和快捷方式,并简化了DOM的使用。 军刀/ XML saber / xml是一个包装和扩展XMLReader和XMLWriter类的库,用于创建一个简单的“xml到对象/数组”映射系统和设计模式。编写和读取XML是单遍的,因此可以快速并且需要大型xml文件的低内存。 FluidXML FluidXML是一个用于使用简洁流畅的API来操作XML的PHP​​库。它利用XPath和流畅的编程模式,既有趣又有效。 第三方(不是基于libxml的) 构建DOM / libxml的好处是,您可以获得良好的开箱即用性能,因为您基于本机扩展。但是,并非所有第三方库都沿着这条路线行进。其中一些列在下面 PHP简单的HTML DOM解析器 用PHP5 +编写的HTML DOM解析器允许您以非常简单的方式操作HTML! 需要PHP 5+。 支持无效的HTML。 使用选择器在HTML页面上查找标签,就像jQuery一样。 从一行中提取HTML中的内容。 我一般不推荐这个解析器。代码库很糟糕,解析器本身很慢而且内存很耗。并非所有jQuery选择器(例如子选择器)都是可能的。任何基于libxml的库都应该比这更容易。 PHP Html解析器 PHPHtmlParser是一个简单,灵活的html解析器,允许您使用任何css选择器(如jQuery)选择标签。目标是帮助开发需要快速,简单的方法来废弃html的工具,无论它是否有效!这个项目最初是由sunra / php-simple-html-dom-parser支持的,但支持似乎已经停止,所以这个项目是我对他以前工作的改编。 同样,我不推荐这个解析器。CPU使用率很高,速度相当慢。还没有清除已创建DOM对象的内存的功能。这些问题尤其适用于嵌套循环。文档本身不准确且拼写错误,自4月14日以来没有回复修复。 加农 通用标记器和HTML / XML / RSS DOM解析器 能够操纵元素及其属性 支持无效的HTML和UTF8 可以对元素执行类似CSS3的高级查询(比如jQuery - 支持的命名空间) HTML美化器(如HTML Tidy) 缩小CSS和Javascript 排序属性,更改字符大小写,更正缩进等。 扩展 使用基于当前字符/标记的回调解析文档 操作以较小的功能分隔,以便轻松覆盖 快速而简单 从未使用过它。不知道它是否有用。 HTML 5 您可以使用上面的方法来解析HTML5,但由于HTML5允许的标记,可能会有怪癖。因此,对于HTML5,您要考虑使用专用解析器,例如 html5lib 基于WHATWG HTML5规范的HTML解析器的Python和PHP实现,可与主要桌面Web浏览器实现最大兼容性。 HTML5最终确定后,我们可能会看到更多专用解析器。还有一个W3的博客文章,名为How-To for html 5 parsing,值得一试。 网页服务 如果您不想编写PHP,您也可以使用Web服务。一般来说,我发现这些实用程序很少,但那只是我和我的用例。 ScraperWiki。 ScraperWiki的外部界面允许您以您希望在Web或您自己的应用程序中使用的形式提取数据。您还可以提取有关任何刮刀状态的信息。 常用表达 最后也是最不推荐的,您可以使用正则表达式从HTML中提取数据。通常,不鼓励在HTML上使用正则表达式。 您可以在网上找到与标记相匹配的大多数片段都很脆弱。在大多数情况下,它们只适用于非常特殊的HTML。微小的标记更改,例如在某处添加空格,或添加或更改标记中的属性,可以使RegEx在未正确编写时失败。在HTML上使用RegEx之前,您应该知道自己在做什么。 HTML解析器已经知道HTML的语法规则。必须为您编写的每个新RegEx讲授正则表达式。RegEx在某些情况下很好,但它实际上取决于您的用例。 您可以编写更可靠的解析器,但是使用正则表达式编写完整可靠的自定义解析器是浪费时间,因为上述库已经存在并且在此方面做得更好。
游客gsy3rkgcdl27k 2019-12-02 02:09:37 0 浏览量 回答数 0

问题

ajax验证正确却无法显示√,css样式无效

使用ajax验证注册表单(判断用户名是否已注册),验证过程使用旋转加载图像,用户名被占用使用x,用户名可用使用√,以上三种情况分别用.thinking,.denied,.approved样式类显示样式,ajax根据服务器返回的解决判断inp...
杨冬芳 2019-12-01 19:55:03 1154 浏览量 回答数 1

云产品推荐

上海奇点人才服务相关的云产品 小程序定制 上海微企信息技术相关的云产品 国内短信套餐包 ECS云服务器安全配置相关的云产品 开发者问答 阿里云建站 自然场景识别相关的云产品 万网 小程序开发制作 视频内容分析 视频集锦 代理记账服务 阿里云AIoT