Установить ширину при выборе windows выбора

введите описание изображения здесь

На снимке ширина опции больше, чем в поле выбора. Я хочу установить ширину этих параметров так же, как и поле выбора, и для этих больших опций установите переполнение текста как многоточие. Любая помощь будет оценена по достоинству.

Вот что я пробовал:

Html

 Select your University Bangladesh University of Engineering and Technology Mawlana Bhashani Science and Technology University  

Css

 select, option { width: 250px; } option { overflow: hidden; white-sapce: no-wrap; text-overflow: ellipsis; } 

Скрипт : https://jsfiddle.net/3bsbcqfz/

Я попытался найти решение из css. Но я не смог этого сделать. Неважно, я написал для него простой код javascript. Это может сделать что-то для этого.

 function shortString() { var shorts = document.querySelectorAll('.short'); if (shorts) { Array.prototype.forEach.call(shorts, function(ele) { var str = ele.innerText, indt = '...'; if (ele.hasAttribute('data-limit')) { if (str.length > ele.dataset.limit) { var result = `${str.substring(0, ele.dataset.limit - indt.length).trim()}${indt}`; ele.innerText = result; str = null; result = null; } } else { throw Error('Cannot find attribute \'data-limit\''); } }); } } window.onload = function() { shortString(); }; 
 select { width: 250px; } option { width: 250px; } 
  

Наконец, я придумал решение, создав Custom Drop-down, используя ul, li. Вот решение:

FIDDLE DEMO

HTML

 
Select
  • Select
  • Bangladesh University of Engineering and Technology
  • Mawlana Bhashani Science and Technology University

CSS

 div.custom-select { height: 40px; width: 400px; position: relative; background-color: #F2F2F2; border: 1px solid #E4E4E4; } div.selected { width: inherit; cursor: pointer; line-height: 20px; display: inline-block; } div.selected > .text { padding: 10px; display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } div.select-box { display: none; width: 100%; z-index: 10029; position: absolute; border-radius: 3px; box-shadow: 0 8px 20px #000000; box-shadow: 0 8px 20px rgba(0,0,0,.35) } div.select-box.active { display: block; } div.select-box.drop-up { top: auto; bottom: 100%; } ul.select-list { margin: 0; padding: 10px; list-style-type: none; } ul.select-list li { cursor: pointer; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } ul.select-list li:hover, ul.select-list li.active { background-color: #999999; } 

JavaScript

 $(document).ready(function (){ $("div.selected").on("click", function () { var hasActiveClass = $("div.select-box").hasClass("active"); if (hasActiveClass === false) { var windowHeight = $(window).outerHeight(); var dropdownPosition = $(this).offset().top; var dropdownHeight = 95; // dropdown height if (dropdownPosition + dropdownHeight + 50 > windowHeight) { $("div.select-box").addClass("drop-up"); } else { $("div.select-box").removeClass("drop-up"); } var currentUniversity = $(this).find('text').text().trim(); $.each($("ul.select-list li"), function () { var university = $(this).text().trim(); if (university === currentUniversity) $(this).addClass("active"); else $(this).removeClass("active"); }); } $("div.select-box").toggleClass("active"); }); $("ul.select-list li").on("click", function () { var university = $(this).html(); $("span.text").html(university); $("div.select-box").removeClass("active"); }); $("ul.select-list li").hover(function () { $("ul.select-list li").removeClass("active"); }); $(document).click(function (event) { if ($(event.target).closest("div.custom-select").length < 1) { $("div.select-box").removeClass("active"); } }); }); 
  • Как использовать флажок внутри Выбрать опцию
  • Как изменить параметры с помощью jQuery?
  • Interesting Posts

    Rails: Как работает блок response_to?

    После установки VS 2010 – основной процесс хоста для Win32 Services запускается проблема

    Как конвертировать exFAT в FAT32?

    Подсветка клавиатуры в диспетчере устройств?

    Как перенаправить вывод всего скрипта оболочки внутри самого скрипта?

    Показатели хеш-набора и массива

    Как читать разделы ext4 в Windows?

    Как я могу изменить все настройки конфиденциальности Windows 10 без десятков кликов?

    Как я могу получить компонент Spring в фильтре сервлетов?

    Расхождение между используемой памятью, сообщаемой диспетчером задач и памятью, используемой программами

    Как я могу определить, как пользователь нажимает клавишу HOME в моей деятельности?

    Развертывание моего приложения в корневом каталоге Tomcat

    Извлечение ISO из CD с Windows 7

    Как установить разрешение на чтение файла закрытого ключа сертификата X.509 из .NET.

    Как связывать или переписывать векторы разных длин без повторения элементов более коротких векторов?

    Давайте будем гением компьютера.