2017-02-16 3 views
1

У меня есть следующий код HTML, который использует JQuery/JQueryUI.JQueryUI/SelectMenu - Неожиданное заполнение внизу

Мне нужно избавиться от bottom padding (красная область), которую вы можете увидеть на прилагаемом изображении.

Здесь вы соответствующий JSFiddle:

https://jsfiddle.net/s8jmq2zh/

$(function() { 
 
    $("select").selectmenu(); 
 
});
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/jquery-ui.css" /> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/jquery-ui.js"></script> 
 

 
<table> 
 
    <tr> 
 
    <td style="background-color:#f00;"> 
 
     <select style="width:200px;"> 
 
     <option value="1">Option 1</option> 
 
     <option value="2">Option 2</option> 
 
     </select> 
 
    </td> 
 
    </tr> 
 
</table>

Результат:

enter image description here

Любая идея о том, как это решить?

+0

Может быть просто удалить 'фон-color' пропеллер? –

+1

Nop, это только показатель проблемы. Описанный фрагмент кода является частью очень большого кода. Я просто упростил это, чтобы вам было легче понять, что я имею в виду. – Angel

ответ

2

Дополнительное заполнение - это то, что таблица стилей jQueryUI делает элемент .ui-selectmenu-button как display: inline-block, который добавляет некоторые пробелы под стилизованное меню выбора. Чтобы это исправить, переопределить этот стиль и установить display: block;:

$(function() { 
 
    $("select").selectmenu(); 
 
});
table .ui-selectmenu-button { display: block; }
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/jquery-ui.css" /> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/jquery-ui.js"></script> 
 

 
<table> 
 
    <tr> 
 
    <td style="background-color: #f00;"> 
 
     <select style="width: 200px;"> 
 
     <option value="1">Option 1</option> 
 
     <option value="2">Option 2</option> 
 
     </select> 
 
    </td> 
 
    </tr> 
 
</table>

+0

спасибо, что работает! – Angel

0

Ваш поддельный выбор aka dropdown - это inline-block элемент, поэтому ваше пространство просто пробельно. Если вы установили display: block для этого поддельного ввода ui-selectmenu-button ui-widget ui-state-default ui-corner-all, он удалит ненужное пространство.

Вы можете применить его по назначению, как:

.td > .ui-selectmenu-button { 
    display: block; 
} 

Если это не будет перезаписывать существующий стиль, добавить !important.