Создание расширяемой кнопки в HTML

Мне нужно сделать кнопки «ОК» и «Отмена» в моем HTML-коде, и я бы хотел, чтобы они были фиксированной ширины, чтобы две кнопки были одинакового размера. Например, вот так:

<style>
button.ok_cancel {
    width: 50px;
    background-color: #4274af;
    font-size: 9px;
    line-height: 12px;
    color: #fff;
    cursor: pointer;
    text-transform: uppercase;
    padding: 1px;
    border: 0px;
    margin: 0 0 0 5px;
    text-align: center;
    letter-spacing: 1px;
}
</style>

<button class = "ok_cancel" onclick = "do_cancel()">Cancel</button>

Но сейчас я локализую текст, и перевод «Отмена» может оказаться слишком широким для кнопки. Я хочу, чтобы кнопка имела фиксированную ширину 50 пикселей, если строка подходит, но расширялась по ширине, если строка шире. Будет использоваться фиксированное количество боковых отступов, чтобы кнопка выглядела хорошо.

Я знаю, что, вероятно, не смогу сделать это с помощью чистого CSS, но какой самый простой HTML-код, который я могу использовать, даст мне желаемый эффект?

Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
2
0
3 509
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Не уверен, но:

button { min-width: 50px; width: auto; }

LMK, если это работает, он должен работать, пока он не плавает.

В Firefox это выглядит хорошо, но IE6 игнорирует свойство min-width.

Ned Batchelder 09.12.2008 05:33

Обычно вы можете установить ширину * для IE и overflow: auto или display, и IE будет правильно расширяться.

Ryan Doherty 09.12.2008 09:20
Ответ принят как подходящий

Я работал с двухдневным ответом и в итоге получил следующее:

/* Browser hack! This is for everyone: */
button {
    display: inline;
    cursor: pointer;
    padding: 6px 6px;
    width: 50px;
    overflow: visible;
}
/* and this is for non-IE browsers: */
html>body button {
    min-width: 50px;
    width: auto;
}

IE хочет, чтобы указанная ширина и переполнение были видимыми, другие браузеры хотят, чтобы минимальная ширина и ширина были автоматически. CSS-хак позволяет IE видеть один набор свойств, а другому браузеру - другой набор.

Хорошо, для нас, неофитов: почему IE игнорирует селектор «html> body button» (выбирает все элементы кнопки, содержащиеся в элементе body, прямым родителем которого является элемент html)? И этот хак работает на всех версиях IE?

Bob.at.Indigo.Health 26.12.2012 02:26

Другие вопросы по теме