为什么 :before 在 safari 中看不到?

2023-11-23

我有一个在 Chrome 中运行良好的代码:

#menu ul {
list-style-position: inside;
list-style-type: none;
display: block;
margin: 0 auto;
padding: 0;
}
#menu li {
font-size: 11px;
width: 95px;
display: inline-block;
vertical-align: top;
position: relative;
}
#menu li a {
color: black;
text-decoration: none;
}
#menu li a img {
opacity: 0;
filter: alpha(opacity=0);
-moz-opacity: 0;
position: absolute;
top: 0;
left: 22px;
margin: 0 auto;
-webkit-transition: opacity 0.2s linear;
-moz-transition: opacity 0.2s linear;
-o-transition: opacity 0.2s linear;
-ms-transition: opacity 0.2s linear;
}
#menu li a:hover img {
opacity: 1.0;
filter: alpha(opacity=100);
-moz-opacity: 1.0;
}
#menu li a:before {
content: "";
display: block;
background: url('../images/greece.gif') no-repeat center;
width: 50px;
height: 50px;
margin: 0 auto;
opacity: 1.0;
filter: alpha(opacity=100);
-moz-opacity: 1.0;
-webkit-transition: opacity 0.2s linear;
-moz-transition: opacity 0.2s linear;
-o-transition: opacity 0.2s linear;
-ms-transition: opacity 0.2s linear;
}
#menu li.news a:before {
background: url('/images/menu/4.gif') no-repeat center;
}
#menu li a:hover:before {
opacity: 0;
filter: alpha(opacity=0);
-moz-opacity: 0
}
#menu li a span.image-title {
display: block;
padding: 5px;
}
#menu li:hover a, #menu li.current.active a {
color: red;
}

我不想使用如此疯狂的代码,但我没有其他办法,因为我正在使用 joomla 2.5

所以我得到的结果是...... 在 Firefox 中不支持不透明过渡。不,它确实有效,但是以一种奇怪的方式......可以忍受。

在 Safari 中:之前根本不显示!

出现此问题的网站(不是广告)。


只需添加位置:绝对

a:before{
position:absolute;
content:"";
top: 0px;
left: 0px;
.....

并确保你的相对位置a

#menu li a{
position:relative;
}

例如这效果很好

#menu li a:before {
content: "";
display: block;
background: url('../images/greece.gif') no-repeat center;
width: 50px;
height: 50px;
position: absolute;
opacity: 1.0;
filter: alpha(opacity=100);
-moz-opacity: 1.0;
-webkit-transition: opacity 0.2s linear;
-moz-transition: opacity 0.2s linear;
-o-transition: opacity 0.2s linear;
-ms-transition: opacity 0.2s linear;
}

对于 css3 开发非常重要盒子尺寸

*, *:after, *:before  {
outline: none;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding:0;
margin:0;
}

:before and :after总是位置:绝对主要元素应该是相对位置

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 :before 在 safari 中看不到? 的相关文章

随机推荐

  • iPhone - [NSUserDefaults standardUserDefaults] 文件存储在计算机上的哪里?

    在 iPhone 上运行应用程序时 例如 当您可以以另一种方式测试某些 GPS 或相机功能时 我在哪里可以找到并检查 NSUserDefaults 创建的文件以保存 standardUserDefaults 我正在运行 XCode 4 它位
  • 如何使用调查包计算比例?

    这只是一个非常简单的问题 但我只是无法从网络和书籍中找到合适的函数来使用 这是我从这里的一篇文章中得到的一个例子 df lt data frame sex c F M F M M M F F married c 1 1 1 1 0 0 1
  • 以编程方式检查 Windows 应用商店应用程序更新

    我实际上正在尝试找到一种方法来检查 Windows 应用商店应用程序是否有可用更新 有没有办法用 API 来做到这一点 谢谢 埃萨姆 Windows 应用商店没有任何专门用于检查更新的 API 有一个相当简单的解决方法 var packag
  • libc6:i386 和 libc6-i386 有什么区别

    我在用着Ubuntu 14 04 2 LTS n l 这里有libc我安装了 dpkg list grep libc6 ii libc6 amd64 2 19 0ubuntu6 7 amd64 Embedded GNU C Library
  • MongoDB 聚合/组/求和查询转换为 pymongo 查询

    我有一组条目goals集合看起来像这样 user adam position attacker goals 8 user bart position midfielder goals 3 user cedric position goalk
  • 如何使用 NodeJS 列出 GCS 存储桶中的目录

    I 如果您正在使用 NodeJS GCS 客户端库并想要列出存储桶中的目录 您该怎么做 首先将 NodeJS GCS 客户端库的依赖项添加到您的package json通过运行以下命令创建文件 npm i google cloud stor
  • .NET 垃圾收集器遇到麻烦。阻塞 15-40 分钟

    一些事实 我们开发了 wcf 服务 充当客户端和数据库之间的层 它是自托管的并作为 Windows 服务运行 该服务保留了多个缓存 其中最大的缓存大约为 1 2GB 总内存使用量通常约为 5 8GB 连接是双工的 使用 tcp 协议 序列化
  • eval() 不在运行时分配变量

    I use eval 将列表分配给 var eval mylist 1 2 3 但是当我运行它时 我得到了一个语法错误 它出什么问题了 如果我不能在eval 如何在运行时分配 var Use exec对于声明 gt gt gt exec l
  • 应用程序配置错误 抱歉,myapp 尚未获准在应用程序中心显示。在 Android 应用程序中共享

    当我在 Facebook 上点击我的应用程序名称时 它重定向到 https www facebook com games app id 827708240586758 并显示 应用程序配置错误抱歉 我的应用程序尚未获准在应用程序中心显示 我
  • 如何在不使用故事板的情况下创建 UICollectionView?

    我在网上找到了一些不错的 UIcollectionview 教程 http www raywenderlich com 22324 beginning uicollectionview in ios 6 part 12 http ashfu
  • AppBarLayout 以编程方式更改偏移量

    如何以编程方式更改 AppBarLayout 的偏移量 当 Activity 首次加载时 我希望 AppBarLayout 部分展开 有一定的偏移量 然后用户可以进一步展开它或折叠它 当前的行为是当 Activity 首次加载时它完全展开
  • 交换 gnuplot 中的轴

    我想知道这个有一段时间了 它可能已经在gnuplot但我一直无法在网上找到信息 当您有数据文件时 可以交换轴并将 虚拟变量 例如 x 在 gnuplot 的帮助术语中 分配给垂直轴 plot data u 1 2 x goes to hor
  • 使用事务进行rails数据库迁移

    我刚刚学习 Rails 并开始了有关数据库迁移的部分 我构建了 2 个迁移 并且都成功迁移了 向下迁移 最新的迁移 即第一个运行的迁移 由于我的代码中的拼写错误而失败 我修复了拼写错误 但此后迁移仍然失败 我发现原因是向下迁移在更改中途中止
  • Laravel 5.6 中的 url() 与 Route()

    就我而言 Laravel 5 6 中的 url 和 route 有什么区别 下面给出了两个 URI a href Create post 1 a and a href Create post 2 a 我在 web php 中定义它们如下 R
  • 为什么需要 useRef 而不是可变变量?

    我读过了useEffect 完整指南 逆流而上反应过度 该示例表明 如果我们想获取最新的count 我们可以用useRef保存可变变量 并在异步函数中获取它 function Example const count setCount use
  • Android 在回收站视图中水平自动滚动

    我在列表中有两个值 并使用回收器视图在水平列表视图中显示它们 这里我需要无限地自动滚动水平列表 我尝试使用下面的代码但没有结果 Horizo ntalScrollView 添加新视图时自动滚动到结束 请在此处查看解决方案 https git
  • 您可以在 List 中的位置 0 处插入吗?

    我需要在集合的开头插入一个对象 我的收藏是列表类型 我怎样才能做到这一点 当然可以 例如一个通用的字符串列表 List
  • 如何让 Visual Studios 构建系统了解托管 dll 的非托管依赖关系?

    构建托管代码时 Visual Studio 正确 并递归地 将引用的托管项目的 dll 复制到正在构建的项目的输出文件夹中 但是 如果这些引用之一是依赖于非托管 DLL 的托管 DLL 则这些非托管 DLL 不会复制到输出文件夹 即使它们的
  • :after 伪元素的 CSS3 转换

    看看这个小提琴 http jsfiddle net sajYc 过渡为 after伪元素在 Firefox 中工作 但在基于 webkit 的浏览器中失败 知道这是否会在未来的版本中出现吗 有什么非 jquery 过度杀伤的解决方法吗 基本
  • 为什么 :before 在 safari 中看不到?

    我有一个在 Chrome 中运行良好的代码 menu ul list style position inside list style type none display block margin 0 auto padding 0 menu