Чтобы создать v-btn-toggle, кнопки которого расположены вертикально, а не горизонтально

В настоящее время я пытаюсь создать тест, используя VueJS и Vuetify. Я пытаюсь расположить ответы, которые пользователь может выбрать, по вертикали. Для этого я пытаюсь использовать компонент v-btn-toggle. Однако кнопки компонента v-btn-toggle по умолчанию выравниваются горизонтально. Если возможно, хотелось бы знать, как расположить их вертикально.

вот мой макет:

<v-btn-toggle v-model = "toggle_multiple" multiple>
    <v-btn>
         Answer 1
    </v-btn>
    <v-btn>
         Answer 2
    </v-btn>
    <v-btn>
         Answer 3
    </v-btn>
    <v-btn>
        Answer 4
    </v-btn>
</v-btn-toggle>

а вот мой стиль, как рекомендовано в этом вопросе :

.v-btn-toggle{
    flex-direction: column;
}

ответ, который я попробовал, дал мне странные результаты, поскольку ответы отображаются только до полутора вторых ответов, как таковые: моё разочарование

Любая помощь приветствуется.

редактировать:

Я обнаружил, что моя проблема связана с CSS по умолчанию vuetify.

.v-btn-group--density-default.v-btn-group {
  height: 48px;
}

И это мешает мне создать групповую кнопку высотой более 48 пикселей.

Я не хотел менять настройки vuetify по умолчанию (из-за проблем с переносимостью), поэтому теперь я пытаюсь переопределить CSS по умолчанию. К сожалению, несмотря на то, что я добавил свой собственный CSS, страница по-прежнему использует CSS vuetify поверх моего, как показано на этом изображении.

Чтобы создать v-btn-toggle, кнопки которого расположены вертикально, а не горизонтально

Разочарование похоже на переполнение, проверьте CSS контейнера. В остальном, у трюков CSS есть руководство по flexbox, хороший справочник. В противном случае для дальнейшей помощи очень приветствуется минимально воспроизводимый пример .

kissu 29.04.2024 15:51

вот пример, codepen.io/Gouillaime/pen/mdggzpm, но мне не удалось воссоздать ошибку. Но я создал новый проект, чтобы проверить его, и это произошло снова. Я здесь в растерянности.

guilhem saint-gaudin 29.04.2024 17:34

Я думаю о CSS проекта vuetify по умолчанию, я постараюсь разобраться в этом.

guilhem saint-gaudin 29.04.2024 17:38

Codepen отлично работает на моей стороне. Уверены, что это не проблема монитора/окна просмотра с вашей стороны? Попробуйте, возможно, на большем экране в другом браузере.

kissu 29.04.2024 17:53

Да, у меня тоже работает codepen, единственное место, где он не работает, это мой живой проект.

guilhem saint-gaudin 30.04.2024 08:55

Я думаю, что-то не так с моими настройками, но я не могу это найти.

guilhem saint-gaudin 30.04.2024 08:55

Проверьте CSS, который у вас есть, никакого волшебного соуса.

kissu 30.04.2024 08:57

хорошо, я нашел это, проблема связана с настройками vuetify по умолчанию, я немного покопался и обнаружил, что в CSS по умолчанию vBtnGroup ``` .v-btn-group --density-default.v-btn-group { высота: 48 пикселей; } ``` По сути, по умолчанию высота группы кнопок не превышает 48 пикселей. На самом деле я не хочу менять настройки vuetify по умолчанию, так есть ли способ переопределить ее, не меняя настройки vuetify по умолчанию? Я попробовал переопределить высоту напрямую, но это не сработало.

guilhem saint-gaudin 30.04.2024 11:09

гра, ни пробелов, ни кода в комментариях очень раздражает

guilhem saint-gaudin 30.04.2024 11:09

Используйте CSS для большей специфичности: w3schools.com/css/css_specificity.asp Таким образом, не нужно менять настройки Vuetify по умолчанию. Кроме того, вам, вероятно, не нужен !important, попробуйте использовать более низкую специфичность. Что касается комментариев, то для кода по-прежнему можно использовать обратные кавычки, хотя здесь это и не критично.

kissu 30.04.2024 11:12

ох вау, быстрый ответ, спасибо, попробую и скажу тебе

guilhem saint-gaudin 30.04.2024 11:19

Я попробовал разместить свой стиль как встроенный, и он работает, спасибо! Я просто немного расстроен тем, что не могу определить стиль с помощью класса, но я возьму то, что есть.

guilhem saint-gaudin 30.04.2024 11:22

Вероятно, вы можете попробовать этот button.v-btn-group--density-default.v-btn-group или, может быть, идентификатор. Еще один отличный пример специфики: specifishity.com

kissu 30.04.2024 11:26

спасибо, с идентификатором работает

guilhem saint-gaudin 30.04.2024 12:11

Я все еще новичок в stackoverflow, поэтому, поскольку я нашел половину ответа сам, должен ли я сам ответить на вопрос?

guilhem saint-gaudin 30.04.2024 12:12

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

kissu 30.04.2024 12:19

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

kissu 30.04.2024 12:27
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Введение в 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. Это простой сайт, ничего вычурного. Основная цель -...
CSS: FlexBox
CSS: FlexBox
Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.
1
17
74
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

ОП обнаружил, что Vuetify имеет высоту по умолчанию 48 пикселей.
После двойной проверки того, что все работает так, как ожидалось, в отношении flexbox, мы сузили его до локального переопределения значений по умолчанию благодаря специфике CSS.

У ОП есть рабочее решение, нацеливаясь на данную кнопку с помощью

#my-button-group {
  height: auto;
}

Другой альтернативой может быть использование button.v-btn-group--density-default.v-btn-group.

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