javascript - 切换输入元素的可见性时,文本元素上下摆动

标签 javascript html css

我的布局如下所示:

<ul id="playlists" class="ui-sortable">
    <li data-id="b69c8348-f47c-4156-a975-a2f1009610a8" data-type="3" class="listItem playlist active"><i class="fa fa-list fa-fw"></i>
        <span class="title" title="">
            Playlist 0000
        </span>
        <input type="text" value="Playlist 0000" class="editableTitle hidden" maxlength="255" />

        <span class="count">0</span>
    </li>
</ul>

$('.title').click(function(){
    $('.title').hide();
    $('.hidden').show();
});

$('.hidden').blur(function(){
    $('.title').show();
    $('.hidden').hide();
});

这是一个显示问题的 JS fiddle (在最新版本的 Chrome 中测试):

http://jsfiddle.net/3WEHJ/14/

每当我切换隐藏输入的可见性时,超棒的字体图标就会上下摆动。

我可以用一些垂直对齐技巧来对齐它,但是当输入再次被隐藏时它就会变得错位。有没有办法用一些简单的 CSS 来支持这两种情况?

最佳答案

解决方案是确保输入元素的行高与其周围文本元素的行高相对应。我的超赞字体图标的行高为 14 像素,输入元素的行高未定义,但隐式假定为 16 像素。通过将它设置为 14px 然后将两者对齐,不再闪烁。

关于javascript - 切换输入元素的可见性时,文本元素上下摆动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22460379/

相关文章:

javascript - 父级隐藏的其他可拖动元素事件中的可拖动元素

Java servlet 和服务器发送的事件

html - 为什么盒子阴影不按比例缩放/扩散?

javascript - 检查日历字段是否为空

javascript - Google 登录 API 最初需要两次点击

CSS 跨浏览器过滤器模糊不适用于 Firefox

html - CSS - 按钮不对齐

javascript - 为什么 `is` 属性仅适用于覆盖内置元素的 Web 组件?

javascript - 应用 jquery 在特定的 <div> 上显示进度条

javascript - 如何在每次刷新页面时执行一次函数?