解决新版本Chrome无法显示border-image问题

本文探讨了Chrome浏览器更新后导致CSS border-image属性失效的问题。作者通过排查发现,需要同时指定border-width和border-style才能正常显示。这一变化对于依赖border-image特性的前端开发者来说至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  前两天翻墙更新了Chrome,具体版本为51.0.2687.0 dev-m (64-bit)。然后今天在调试代码时发现CSS中的border-image不显示了,去最初学习的网页(CSS3 border-image详解、应用及jQuery插件)查看,发现文章中CSS3 border-image的示例也失效了,从网上搜索border-image,很多文章中的示例同样失效。咋回事呢,难道新版Chrome中将border-image功能删除了?因为笔者曾经使用并且用起来很爽的的style.pixelLeft、style.pixelTop也出现过Chrome起初支持后来删除的情况,所以笔者第一时间想到不会是border-image被W3C废弃所以被Chrome删除了吧,从网上搜索并查询W3C相关标准并未发现该特性被删除,况且此特性非常受欢迎,应该不会被随意废弃。

    经过一阵折腾,终于发现原因,之前我的CSS写法如下:


[html]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4. <meta charset="utf-8" />  
  5.     <title></title>  
  6.     <style>  
  7.         .div1  
  8.         {  
  9.             position:absolute;  
  10.             left:100px;  
  11.             top:100px;  
  12.             width:400px;  
  13.             height:100px;  
  14.             padding:1px;  
  15.   
  16.             border:1em;  
  17.             -webkit-border-image:url(img/border-image.png) 27 27 27 27 round round;  
  18.         }  
  19.     </style>  
  20. </head>  
  21. <body>  
  22.   
  23.     <div class="div1">请看我的边框</div>  
  24.   
  25. </body>  
  26. </html>  

效果是这样的:



将border:1em修改为border:1em solid transparent;(还有一点要注意的是border-image要放在border之后)就可以显示了,也可以改为border:1em solid;,就是不只要指定border-width还要指定border-style,,之后的效果如下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值