Chrome добавляет вертикальное дополнение для выбора параметров на разных компьютерах

РЕДАКТИРОВАНИЕ: см. снимки экрана внизу:

Мне просто интересно, сталкивался ли кто-нибудь с подобной проблемой. На моем компьютере с Windows 8 и последней версией Chrome все параметры моего окна выбора выглядят так, как я ожидал, с точки зрения вертикального интервала. У разработчика рядом со мной, также работающего под управлением Windows 8 с той же версией Chrome, параметры поля выбора имеют 5 пикселей вверху и внизу отступа. Код находится на нашем сервере разработки, поэтому мы обращаемся к одним и тем же файлам.

Вот jsfiddle, воспроизводящий проблему на компьютере другого разработчика: http://jsfiddle.net/3etfP/

И вот тестовый пример (тот же jsfiddle):

<style type="css">
    .select {
        padding: 3px;
        color: #000;
    }
</style>    

<div>
   <select name="testSelect" id="testSelect" class="select">
       <option value="-1">Select One</option>
       <option value="0">No</option>
       <option value="1">Yes</option>
   </select>
</div>

Некоторые другие детали, которые могут быть полезны:

  • Оба работают под управлением Windows 8.0 64bit
  • Оба используют режим рабочего стола
  • Оба используют версию 30.0.1599.101 m Google Chrome.
  • Using the following Chrome extensions:
    • URL-alizer (both)
    • Google Hangouts (оба)
    • Правильный почтовый ящик для Gmail (я)
    • Any.do (другой разработчик)
    • Краткие заметки (другой разработчик)
    • Документы Google (оба)

Пожалуйста, дайте мне знать, если есть какие-либо детали, которые я пропустил.

Спасибо

Выбрать с отступом:

Выбрать с отступом

Выберите нормальное отображение:

Выберите обычный вид


person ScottMichael    schedule 04.11.2013    source источник
comment
Можете ли вы выложить скриншоты как правильного, так и неправильного рендеринга?   -  person Yuriy Galanter    schedule 04.11.2013
comment
Просто добавил несколько скриншотов. @YuriyGalanter   -  person ScottMichael    schedule 04.11.2013
comment
Это выглядит как совершенно другой рендеринг, он всегда отображает раскрывающийся список up. Вы уверены, что во второй первой версии нет более красивого выбора?   -  person Yuriy Galanter    schedule 04.11.2013
comment
Ну, единственная разница, которую я могу придумать между двумя скриншотами (кроме заполнения), заключается в том, что первое изображение было взято с 13-дюймового ноутбука. Причина, по которой раскрывающийся список появляется над выбором, заключается в том, что в нем не было места для перехода ниже. Насколько мне известно, ни у кого нет избранного красивее. @YuriyGalanter   -  person ScottMichael    schedule 04.11.2013
comment
СкоттМайкл, где вы можете найти это решение? Кажется, эта проблема все еще продолжается с Chrome.   -  person ACEGL    schedule 31.07.2017
comment
Я уверен, что это бесполезно спустя долгое время, но это был тот, у которого было дополнительное дополнение к сенсорному экрану (stackoverflow.com/questions/45446199/)?   -  person Keith Davis    schedule 24.04.2019


Ответы (2)


Поскольку это та же ОС и тот же браузер, я бы посмотрел на пользовательские таблицы стилей:

  • Windows: \User Data\Default\User StyleSheets\custom.css
  • Linux: ~/.config/chromium/Default/User StyleSheets/Custom.css
  • (Я знаю, что вы оба работаете в Windows, просто освещая основы для читателей)

В прошлом я бы использовал инспектор элементов для проверки различий после рендеринга страницы. Свойство CSS, которое всегда мешает мне с отступами и т. д., — это box-sizing.

person MaKR    schedule 04.11.2013
comment
Привет @MakR. Спасибо за ответ! Я проверил оба файла custom.css на обеих машинах, и они оба оказались пустыми. Мы также сравнили рендеринг страниц постов в HTML и CSS, и все выглядит одинаково. Даже ссылка JSFiddle в исходном посте — это самый простой HTML/CSS, но она по-прежнему реагирует одинаково. - person ScottMichael; 04.11.2013
comment
Я должен согласиться с редактированием ответа Джошуа Робинсона. Я не могу воспроизвести ситуацию, когда один и тот же браузер с одной и той же ОС отображается по-разному на другой копии. Кроме того, если вы еще этого не сделали, отметьте размер окна: w3schools.com/cssref /css3_pr_box-sizing.asp - person MaKR; 05.11.2013

Скотт,

Если это что-то действительно важное, вы можете имитировать поведение выбора с помощью div и иметь лучший контроль. При этом это может быть не заполнение, вы пытались установить margin: 0 для элементов <option>?

.select option {
  padding: 0;
  margin: 0;
} 

Большинство элементов имеют свои собственные отступы/маржи в разных браузерах. Я бы рекомендовал использовать сброс CSS, если вам нужен единый дизайн для всех браузеров (см. используйте/" rel="nofollow">здесь). Также может быть, что у кого-то из вас Chrome увеличен. Вам обоим следует удерживать control и нажимать + или -, чтобы убедиться, что масштаб установлен на 100%.

Редактировать: я думаю, что вы в этом, к сожалению. См. статью Криса Койера Стили раскрывающегося списка по умолчанию, особенно последнюю часть статьи, большую часть который здесь цитируется.

А как насчет самого выпадающего списка?

Например, то, что показывает выбор при активации. Насколько я знаю, ни в одном браузере их нельзя стилизовать. Даже жирным или курсивом. Самое близкое к стилю, которое вы можете получить, — это сгруппировать их с помощью . Это, вероятно, в основном связано с пользовательским интерфейсом, но это также может быть связано с безопасностью. Вы бы не хотели, чтобы люди делали хитрые вещи со шрифтами, из-за которых неясно, какой параметр выбран.

Что делать, если вам нужен полный контроль над дизайном?

Во-первых, постарайтесь сделать все возможное, чтобы в этом не было необходимости. Элементы формы по умолчанию знакомы и хорошо работают. Обычно не требуется, чтобы выпадающее меню соответствовало шрифту и цветам вашего бренда, и, скорее всего, это в лучшем случае неприятно, а в худшем — плохой UX.

Если вы решите, что настроить выпадающий список — это абсолютно хорошая идея, вам следует использовать JavaScript, чтобы:

  1. Доступно скрыть исходный выбор.

  2. Перестройте выбор с помощью пользовательской разметки (возможно, списка определений), которую вы стилизуете так, как хотите.

  3. Воспроизведение всех функций, которые есть у выбора по умолчанию, в том числе: события клавиатуры, такие как клавиши со стрелками вверх и вниз и возврат к выбору, прокрутка длинных списков, открытие меню вверх, когда выбор находится в нижней части экрана, и это лишь некоторые из них.

  4. Для мобильных устройств инициируйте открытие собственного меню выбора, потому что эту функциональность практически невозможно воспроизвести. Например, поворотное колесо iOS.

  5. Возможно, вы также захотите использовать стиль «переход по клику» для настольных компьютеров. Выберите пользовательский стиль по умолчанию, но когда вы щелкаете по нему, открывается собственное раскрывающееся меню (на месте). Когда вы выбираете параметр, он снова отображает пользовательский стиль с показанным выбором.

Это много работы и легко испортить, так что будьте осторожны.

Джошуа

person Joshua Robinson    schedule 04.11.2013
comment
Привет Джошуа, спасибо за ваш ответ. На самом деле мы пробовали несколько вещей, включая настройку полей в параметрах, но, к сожалению, ничего не удаляет лишние отступы. Что самое странное во всей этой ситуации, так это то, что все, что мы видим, идентично с точки зрения ОС, браузера и масштаба страницы/размера шрифта. В нашем продукте есть несколько сотен полей выбора, поэтому переход и изменение их на div может оказаться невозможным. Я также должен упомянуть, что эта проблема приводит к обрезанию двух нижних параметров. @Джошуа-Робинсон - person ScottMichael; 04.11.2013
comment
Может это плагин для браузера? Ааа, вы уже это рассмотрели :) Я бы все же попробовал удалить все плагины для браузера, все ли плагины для браузера одной версии? - person Joshua Robinson; 04.11.2013
comment
Также попробуйте на чистой виртуальной машине, посмотрите, будет ли у вас такой же результат. Я использую браузерный стек, и у них есть бесплатная пробная версия, если вы зайдете на страницу Microsoft здесь. modern.ie/en-us/virtualization-tools - person Joshua Robinson; 04.11.2013
comment
Насколько я знаю, это все одинаковые версии, но я постараюсь максимально вернуться к значениям по умолчанию в самом браузере. @Джошуа-Робинсон - person ScottMichael; 04.11.2013