LINUX.ORG.RU

HTML: Две кнопки

 , ,


0

1

Есть две кнопки. В одной одинокий эмоджи, в другой обычный текст:

<div style="position: fixed; right: 0; top: 0">
    <button class="top-button">
        🌎
    </button>
    <button class="top-button">
        Text
    </button> 
</div>

Они отформатированны с помощью CSS:

.top-button {
    display: inline-block;
    cursor: pointer;
    padding: 0.25rem;
    min-width: 2rem;
    min-height: 2rem;
    background-color: rgba(180, 180, 180, 50%);
    border: none;
    box-shadow: 2px 2px 2px darkgray;
    border-radius: 5px;
    margin: 0.1rem;
}

Живой пример: https://playcode.io/1629892

Скриншот: https://i.stack.imgur.com/hCmfL.png

Возникает две проблемы:

1) Кнопка без эмоджи в моём браузере отображается на пару пикселей НИЖЕ, чем кнопка с эмоджи. Очевидно, я хочу, чтобы кнопки были выровнены по горизонтали.

2) Кнопка без эмоджи, располагаясь ближе к правому краю окна, почему-то прижимается вплотную к нему, хотя у неё задан не-нулевой margin. Хочется, чтобы она так не делала.

★★★★★

Они идентичны. Ты увеличь выхлоп и увидишь. Почему так получается на маленьком размере? Да потому, что во второй не видно тени и она кажется плоской. Моск тебя обманывает.

по второму вопросу: убери display: inline-block; margin: 0.1rem; и добавь margin-right: 4px; (в 2 раза больше выделенной тени, или ты не будешь видеть её полноценно.

Neuromagus
()
Последнее исправление: Neuromagus (всего исправлений: 4)

1) У меня всё норм рисуется на одно высоте. Может у тебя хром вместо браузера? Предполагаю что твой артефакт из-за того, что ты не задал точные размеры кнопок, и браузер их считает исходя из содержимого. У смайлика что-то торчит вверх, у букв - вниз (g и y например, хоть в слове Text их и нет, но место наверно зарезервировано), вот рамки в те стороны и отодвигаются. Попробуй сделать третью кнопку где и смайлик и текст.

2) А маргин работает на экран?

firkax ★★★★★
()
dron@gnu:~$ chromium --version
Chromium 116.0.5845.140 built on Debian trixie/sid, running on Debian trixie/sid
dron@gnu:~$ firefox --version
Mozilla Firefox 115.3.0esr
dron@gnu:~$ 

Всё ровно. Фик знает, открой свой же пример в инкогнито, вдруг какое расширение чего чудит

LINUX-ORG-RU ★★★★★
()

Кнопкам задан display: inline-block. В этом режиме горизонтальные маржины не работают. Отступ между кнопками сейчас выполнен не маржином, а пробелом, который образуется из-за инлайна. Либо сделай паддинг их контейнеру (который fixed), либо сделай его флексбоксом. Второе лучше, поскольку борется с инлайном.

static_lab ★★★★★
()
Ответ на: комментарий от static_lab

В этом режиме горизонтальные маржины не работают.

А вот это не знал! Решил проблему добавив марджин div, в котором лежат кнопки, а кнопкам вообще их убрал.

KivApple ★★★★★
() автор топика
Последнее исправление: KivApple (всего исправлений: 1)