"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como controlar a largura das opções da caixa de seleção?

Como controlar a largura das opções da caixa de seleção?

Publicado em 2024-11-18
Navegar:606

How to Control the Width of Select Box Options?

Definindo a largura das opções da caixa de seleção

No código HTML fornecido, a largura das opções da caixa de seleção excede a largura da caixa de seleção caixa em si. Para resolver esse problema e garantir que as larguras das opções estejam alinhadas com a largura da caixa de seleção, vamos aplicar o estilo CSS.

Solução CSS:

select, option {
    width: 250px;
}

option {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

Ao definir a largura da caixa de seleção e de suas opções para 250px, aplicamos a largura desejada. Além disso, aplicamos a propriedade overflow: hidden para ocultar qualquer texto que se estenda além dos limites da opção, garantindo que o texto não ultrapasse a caixa de seleção.

Observação: No entanto, o CSS A solução pode não restringir totalmente as larguras das opções ao tamanho exato da caixa de seleção em todos os navegadores devido a possíveis diferenças nos mecanismos de renderização.

Javascript Solução:

Como alternativa, uma função JavaScript pode ser implementada para ajustar dinamicamente as larguras das opções com base em um limite especificado:

function shortString(selector) {
  const elements = document.querySelectorAll(selector);
  const tail = '...';
  if (elements && elements.length) {
    for (const element of elements) {
      let text = element.innerText;
      if (element.hasAttribute('data-limit')) {
        if (text.length > element.dataset.limit) {
          element.innerText = `${text.substring(0, element.dataset.limit - tail.length).trim()}${tail}`;
        }
      } else {
        throw Error('Cannot find attribute \'data-limit\'');
      }
    }
  }
}

window.onload = function() {
  shortString('.short');
};

Esta função permite definir um limite de largura para cada opção usando o atributo data-limit. As opções que excederem o limite serão truncadas e sufixadas com reticências (...).

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3