html - Webkit 浏览器转换:翻译不正确的行为
问题描述
我正在尝试制作一个滑动搜索框。
当你按下按钮时,搜索框应该从按钮中滑出。
我正在尝试使用 translateX(100%) 属性来实现它。
但是在基于 WebKit 的浏览器上,初始 translateX(100%) 不起作用。
当我将 translateX 从 100% 切换到 0 时,它会向错误的方向滑动。Firefox + Edge - 一切正常。
仅限 Webkit 问题。
我确定我错过了什么,或者这是一个众所周知的错误?
我该如何解决这种行为?
谢谢!
Jsfiddle 链接 - https://jsfiddle.net/timonbandit/dm9u0w7t/44/
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<form action="/search" class="m-search-box__form">
<div class="m-search-box__input-wrp">
<input autofocus="autofocus" class="m-search-box__input" type="search">
</div>
<button class="m-search-box__submit" type="submit">I</button>
</form>
.m-search-box__form {
float: right;
display: flex;
width: 35px;
position: relative;
}
.m-search-box__input-wrp {
position: absolute;
top: 0;
right: 35px;
overflow: hidden;
}
.m-search-box__input {
display: inline-block;
height: 35px;
transform: translateX(100%);
transition: all 0.3s ease-in-out;
}
.m-search-box__input.opened {
transform: translateX(0)
}
.m-search-box__submit {
width: 35px;
height: 35px;
}
$(".m-search-box__submit").click(function(e){
e.preventDefault();
$(".m-search-box__submit").toggleClass("opened");
$(".m-search-box__input").toggleClass("opened");
})
解决方案
我找到了问题和解决方案。
<form action="/search" class="m-search-box__form">
<div class="m-search-box__input-wrp">
<input class="m-search-box__input" type="search">
</div>
<button class="m-search-box__submit" type="submit">
I
</button>
https://jsfiddle.net/timonbandit/dm9u0w7t/46/
并找到了一个相关的话题。
问题在于基于 WebKit 的浏览器中的自动对焦属性。
如果一个元素包含 autofocus 属性 - WebKit 无论如何都会显示它:-)
因此,解决方案是删除自动对焦属性或从该主题中获取答案-为什么要使用自动对焦启动过渡?
推荐阅读
- java - 在 Drawer+Bottom Navigation 中动态更改 Toolbar MenuItems
- python - Python正则表达式查找目录路径(\\\\Location\\Location\\Location)
- react-native - React Native - '无法解决模块错误'
- python - 从 Python 列表中删除字典时如何清除内存?
- javascript - 如何使用jquery默认选择列表中的第一项
- bash - BASH:使用 grep 循环遍历 CSV 和 cURL 行
- sql - Redshift:找到满足条件的前面的行来构成一个序列
- ruby - 如何在 ubuntu 中将 ruby 版本从 2.3.1 升级到 2.5.1
- android - 如何解决 -Undefined is not an object (evaluate 'i.View.propTypes.style') in React native
- terraform - 为 local-exec 设置 Terraform 默认解释器