jquery - CSS 和 jQuery : elements changing sizes on click/drag

标签 jquery html css

我制作了一个小部件:鼠标按下一个高亮单词,弹出一个菜单。拖动到您的选择,释放。菜单弹出。

小部件功能正常,但单击/拖动会使小部件元素改变大小并四处移动,这不是所需的行为。 CSS 非常简单,所以我不知道从哪里开始。

这是 fiddle 。 http://jsfiddle.net/monsto/JfWQ3/1/

这是CSS

body {margin:25px;}
li {cursor: pointer; display: inline-block; border:1px solid black; position:relative;height:20px;}
.del {display: none;background-color: red; width:50%; float:left;text-align:center;position:relative;}
.save {display: none;background-color: green;width:50%; float:right;text-align:center;position:relative;}
.word {display: inline-block;}​

和一些html

<div id="taglist">
    <br /><hr />
        Quisque ut felis urna, eget rutrum odio. Proin sed augue at 
            <li>
                    <span class="word">enim consectetur</span>
                    <div class="del">+</div>
                    <div class="save">-</div>
            </li>
        Ut interdum erat at neque egestas sagittis sed non massa. Nullam nec nulla quis purus convallis venenatis. Vivamus a pulvinar mauris. Quisque suscipit augue a felis suscipit ornare.
            <li>
                    <span class="word">euismod.</span>
                    <div class="del">+</div>
                    <div class="save">-</div>
            </li>
        Aliquam eget quam sit amet lacus commodo malesuada.            
            <li>
                    <span class="word">Etiam</span>
                    <div class="del">+</div>
                    <div class="save">-</div>
            </li>
        Ut interdum erat
            <li>
                    <span class="word">eget</span>
                    <div class="del">+</div>
                    <div class="save">-</div>
            </li>
     leo in turpis congue porta vel non nisl. Mauris ipsum erat, pellentesque at ullamcorper at, egestas ac enim. Aliquam fringilla mollis porttitor. In tempor pretium gravida.
    <hr /><br />
</div>

最佳答案

我认为问题在于浏览器为两个 float div 分配了少量空间。我能够通过使用绝对定位而不是 float 来解决问题(至少在 Firefox 中):

.del {
    display: none;
    background-color: red;
    width:50%;
    text-align:center;
    position: absolute;
    left: 0;
    top: 20px;
}
.save {
    display: none;
    background-color: green;
    width:50%;
    text-align:center;
    position: absolute;
    right: 0;
    top: 20px;
}

关于jquery - CSS 和 jQuery : elements changing sizes on click/drag,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10198392/

相关文章:

html - 不同页面不同颜色

javascript - HTML 单选按钮数组

html - IE6输入按钮图片背景

html - 显示302重定向-或与HTTP兼容的等待屏幕的内容

css - margin 在 float div 后不起作用

javascript - 将菜单项和 jQuery ui 选项卡链接在一起

html - 带有 nowrap 溢出的表格单元格

javascript - Google Maps API v3 选择信息窗口作为 jquery DOM 对象

jquery - 如何在tinyMCE下的文本区域中的指针当前位置添加文本?

javascript - 操纵 jQuery 节点的文本值