有什么技巧可以让vw调整大小以在webkit浏览器上的:before伪类上工作吗
Is there any trick to get vw resizing to work on the :before pseudoclass on webkit browsers?
在webkit浏览器上使用vw大小时有一个众所周知的错误,当调整窗口大小时,它们不会更新。破解方法一直是使用javascript在调整大小时强制重画元素(通常只需重新分配z索引)。类似:
CSS:
#siteSearch input { font-size:10vw;}
Javascript/jQuery:
function resizing() { $("#siteSearch *").css("z-index", 1) }
window.onresize=resizing;
但这似乎并不奏效:在内容之前。我做了一个JSFiddle来演示。如果调整窗口的大小,搜索框/文本的大小会很好地改变,但放大镜(由:before content生成的图标字体字符)则不会。您必须刷新页面/重新运行JSFiddle才能更新页面。如果你在Firefox中尝试,由于Firefox的跨站点问题,图标不会正确显示,但这与此无关。尺寸在那里起作用。
是的,用javascript让pseudo-element做任何事情都很难。我确实试过了,但没能那样解决。因此,我的建议是将其全部封装在标签元素中,并在其中添加glyficon,然后对标签进行样式设置。
HTML
<div id="siteSearch">
<label><input type="text" placeholder="Search" /></label>
</div>
和css
#siteSearch input {
background-color:transparent;
border: 0 none;
letter-spacing:1px;
color: #666;
width:4em;
padding: .3em .5em .3em .6em;
font-size:10vw;
border-radius: 1em;
}
#siteSearch label {
position:relative;
color: #666;
font-family: FontAwesome;
font-size:10vw;
left:1.6em;
top:.1em;
display:inline-block;
background-color:#ECF0FC;
border-radius: 1em;
padding-left:.5em;
}
我还有一把小提琴,所以你可以试试。
我希望这能对你有所帮助,祝你好运!
相关文章:
- 访问布局信息是否也会导致浏览器重排
- 内部分区字体大小获胜'调整浏览器窗口大小时不会随媒体查询而更改
- 如何使用phaser使html5游戏在移动设备浏览器上运行
- 有时数据是't显示在浏览器中
- 使图像在单击时展开到不大于浏览器
- fetch() 函数未在 Ubuntu Chromium 浏览器上定义
- 不同浏览器中的空白字符正则表达式行为
- 在Windows 10中自动执行例行程序(主要与浏览器交互)
- Windows形成web浏览器控件和Javascript更改的DOM
- 如何临时暂停浏览器渲染,然后恢复整个页面
- 使用angularjs向浏览器发送servlet响应(下载功能)
- 是什么让一个“;Uncaught RangeError:超过了最大调用堆栈大小“;错误(Chrome,在其他浏览器中显示
- 谷歌地图API v3不适用于移动浏览器或PhoneGap
- 禁用(而不是隐藏)浏览器滚动条
- jquery代码在Mozilla中有效,但在其他浏览器上无效
- 如何使用modalDialog来显示可以在所有浏览器中工作的弹出窗口
- 当浏览器上的后退按钮到达主页时,我需要删除Class
- 是否可以在浏览器中使用纯JavaScript保存音频流
- 有什么技巧可以让vw调整大小以在webkit浏览器上的:before伪类上工作吗
- 如何检测浏览器对 :after 和 :before 的支持