- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个包含导航元素的页面,我想将其隐藏在页面的左侧/右侧,并在我将鼠标悬停在图标上时显示。我在要隐藏的元素上使用 :after
伪元素创建了图标。该解决方案在经过测试的桌面浏览器上运行良好,但在 chrome 移动版上运行失败(即使桌面版本运行良好)。
我在 iOS 和 Android 上测试过,没有一个能够显示 :after
伪元素。 但是 如果您碰巧点击了:after
应该位于的位置,菜单就会显示出来。所以看起来这只是一个显示问题。
我创建了 this jsfiddle显示问题。我添加了一些 javascript 只是因为它在真实页面上,但我认为这不是问题的原因。
更奇怪的是,在 iOS 上,chrome 和 safari 都可以在 jsfiddle 上显示 M
和 S
,但在真实页面上无法显示图标。不过,Android 版 Chrome 也无法在 jsfiddle 上显示元素。
那么,我的问题是,如何在 Chrome 移动版或 iOS 浏览器上显示 :after
伪元素?
body, html {
width: 100%;
height: 100%;
padding: 0px;
margin: 0px;
background: white;
}
h1 {
text-align: center;
}
footer {
padding: 10px;
}
section {
background: white;
margin: 350px 0px 0px;
padding: 10px 10% 25px;
box-shadow: 0px 10px 20px rgba(120, 120, 120, 0.19), 0px -10px 10px rgba(150, 150, 150, 0.23);
overflow: hidden;
text-align: justify;
}
header div {
position: fixed;
text-align: center;
top: 0px;
left: 0px;
right: 0px;
z-index: -1;
}
header nav {
display: block;
position: fixed;
width: 60%;
top: 0px;
bottom: 0px;
right: 100%;
background: #BBBBBB;
color: #324353;
transition: all 0.8s ease-in-out;
z-index: 3;
overflow-y: auto;
}
header nav:hover {
right: 40%;
box-shadow: 15px 0px 20px rgba(100, 100, 100, 0.3);
}
header nav:after {
display: block;
position: fixed;
padding: 15px;
content: "M";
top: 0px;
left: 0px;
color: #324353;
transition: all 0.8s ease-in-out;
z-index: 4 !important;
}
header nav:hover:after {
visibility: hidden;
content: "x";
}
header aside {
display: block;
position: fixed;
width: 60%;
top: 0px;
bottom: 0px;
left: 100%;
background: #BBBBBB;
color: #324353;
transition: all 0.8s ease-in-out;
z-index: 3;
overflow-y: auto;
}
header aside:hover {
left: 40%;
box-shadow: -15px 0px 20px rgba(100, 100, 100, 0.3);
}
header aside:after {
display: block;
position: fixed;
padding: 15px;
content: "S";
top: 0px;
right: 0px;
color: #324353;
transition: all 0.8s ease-in-out;
z-index: 4 !important;
}
header aside:hover:after {
visibility: hidden;
content: "x";
}
<header>
<div>
<h1>
Some Title
</h1>
</div>
<nav>
Some Menu
</nav>
<aside>
Some Settings
</aside>
</header>
<section>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam id faucibus sem. Nullam venenatis arcu massa, sit amet sodales dui dapibus sit amet. Nunc est elit, feugiat a molestie a, eleifend vitae diam. Sed eleifend eros vel nunc cursus gravida. Nulla magna dolor, finibus non dolor a, auctor porta diam. Proin a justo ultrices, semper dolor sit amet, maximus leo. Proin vehicula tincidunt tortor, gravida pellentesque risus sollicitudin vel. Cras lacinia luctus tellus in consectetur. Morbi facilisis nec justo ut condimentum. In semper vestibulum libero, non vestibulum lacus efficitur sed. Proin laoreet convallis tristique. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec porta ligula odio, quis hendrerit nisl accumsan ac. Mauris aliquam cursus ultricies. Curabitur luctus, mi auctor bibendum interdum, mi arcu luctus lorem, at ornare nunc felis et lorem. Maecenas ut hendrerit arcu.
</section>
<footer>Some footer text</footer>
最佳答案
不确定移动浏览器发生了什么,但删除了 overflow-y: auto;
来自 header nav
和 header aside
似乎在工作。
但是,如果您确实需要滚动条,您可以将另一个元素(即 <ul>
)添加到 <nav>
中.
header nav ul {
position: absolute;
top: 0; bottom: 0; left: 0; right: 0;
padding: 0;
margin: 0;
overflow-y: auto;
}
参见 updated jsFiddle .
关于android - 伪元素 :after disapears on chrome mobile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35105527/
我有一个包含导航元素的页面,我想将其隐藏在页面的左侧/右侧,并在我将鼠标悬停在图标上时显示。我在要隐藏的元素上使用 :after 伪元素创建了图标。该解决方案在经过测试的桌面浏览器上运行良好,但在 c
我正在处理这个导航栏。每当我单击选项卡时,我都会将导航栏更改为不同的颜色,但这导致了一个问题:当我单击一个图标时,导航栏会更改颜色但选项卡的 Logo 会消失。它仅在我单击另一个选项卡时才会重新出现,
我有允许用户提交评论的文本区域,我想按时获取评论提交的日期,并与添加的评论一起保存到 json。 不幸的是,当我提交评论时,评论和日期按预期显示,但当我刷新页面时,日期不见了。 注意我正在使用 jso
我对 p:message 标签有一个奇怪的问题。在页面 a 上有一个数据表,其中包含我可以在 p:dialog 中编辑的数据库中的数据。一旦所有验证都成功并且数据库中的更新完成,我就会刷新数据表并添加
我有一些具有子组件的 Skinnable 容器,例如图像组件或按钮栏等。似乎当我添加皮肤时,Skinnable 容器看起来很棒,但该容器的所有子组件似乎消失。 Example:
我使用带有(提示:文本)的 EditText View 我想重现已弃用的(单行:true)EditText 的属性。 所以我使用这些属性和值: (行数:1) (最多行数:1) (水平滚动:真) 而且效
我不明白为什么这段代码不起作用。用户可以单击一个按钮来展开粘性页脚。我使用 jQuery 为页脚设置动画(通过增加 #site-footer 的高度)。单击按钮后出现问题:#ask-offer div
当我使用 on_resize() 事件时,我的文本没有显示。更具体地说,问题来自“return pyglet.event.EVENT_HANDLED”语句。 这是一个简短的例子: import pyg
我正在为 Liferay 6.1 EE GA3 开发应用程序。 在控制面板下,我们有私有(private)插件安装程序部分,我们可以在其中安装/部署新的 portlet。我正在使用面板并且该部分工作正
我正在使用 bootstrap 创建网站。我正在尝试创建一个有序列表,其中包含每个元素的媒体对象。当我这样做时,在平板电脑上查看时数字会消失。但是,当您从桌面浏览器查看列表并将窗口调整为平板电脑分辨率
所以我有这行代码 SharedPreferences sharedPref = getApplicationContext().getSharedPreferences(PREFS_NAME, 0);
我是一名优秀的程序员,十分优秀!