jQuery Сортируемый применяется к строкам таблицы делает строки выше - PullRequest
4 голосов
/ 25 января 2011

Я готовлю настраиваемое позиционирование для строк таблицы с помощью jQuery UI Sortable, но столкнулся с серьезной проблемой. Всякий раз, когда я хватаю ряд, он набирает 2px высоту. Однако поля, высота, отступы и т. Д. Остаются неизменными. Я создал тестовую страницу без каких-либо дополнительных скриптов или стилей. Есть ли что-нибудь, что я могу сделать, чтобы эта проблема не стала выше ? Спасибо.

jQuery: 1.4.4, пользовательский интерфейс jQuery: 1.8.9

Редактировать: это хорошо в Chrome и Safari (не проверял другие браузеры) на Mac. Этот пример на jsFiddle отлично работает: http://jsfiddle.net/yA47C/,, но я не совсем уверен, что там может отличаться.

<!DOCTYPE html> 
<html> 
<head> 
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script> 
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/jquery-ui.min.js"></script>    
</head>

<body>
    <table>
        <thead>
            <tr><th>header</th></tr>
        </thead>
        <tbody class="sortable">
            <tr><td>row 1</td></tr>
            <tr><td>row 2</td></tr>
            <tr><td>row 3</td></tr>
            <tr><td>row 4</td></tr>
            <tr><td>row 5</td></tr>
        </tbody>
    </table> 
    <script> 
    $(function() {
        $(".sortable").sortable();
    });
    </script>
</body> 
</html>

1 Ответ

2 голосов
/ 25 января 2011

Я не знаю, в чем проблема (поскольку это работает для меня), но если это работает для вас в jsfiddle, это определенно одно из тех правил css в normalize.css, которое исправляет это для вас:

http://fiddle.jshell.net/css/normalize.css

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset
input,textarea,p,blockquote,th,td { 
    margin:0;
    padding:0;
}
table {
    border-collapse:collapse;
    border-spacing:0;
}
fieldset,img { 
    border:0;
}
address,caption,cite,code,dfn,em,strong,th,var {
    font-style:normal;
    font-weight:normal;
}
ol,ul {
    list-style:none;
}
caption,th {
    text-align:left;
}
h1,h2,h3,h4,h5,h6 {
    font-size:100%;
    font-weight:normal;
}
q:before,q:after {
    content:'';
}
abbr,acronym { border:0;}

Если бы мне пришлось угадывать, я бы сказал, что это правило "таблицы".Также может быть правило "td".

...