Стиль или удалить элемент, который был добавлен с использованием CSS с использованием большего количества CSS - PullRequest
0 голосов
/ 24 сентября 2018

У меня есть следующие HTML и CSS, сгенерированные каркасом Vaadin:

<div class="v-slot">
<div class="v-splitpanel-horizontal v-widget v-has-width" style="width: 100%;">
    <div style="position: relative; width: 100%; height: 100%;">
        <div class="v-splitpanel-first-container v-scrollable" style="height: 100%; width: 90px;">
            <div tabindex="0" class="v-menubar v-widget v-has-width" style="width: 90px;">
              <span class="v-menubar-menuitem v-menubar-menuitem-menulevel0 v-menubar-menuitem-selected" style="color: transparent;">
                  ::before
                  <span class="v-menubar-submenu-indicator" style="color: yellow;">►</span>
                  <span class="v-menubar-menuitem-caption" style="color: red;">
                  <span class="v-icon Vaadin-Icons"></span></span>
              </span>
            </div>
        </div>
    </div>
</div>

.v-menubar > .v-menubar-menuitem:before {
    content: ">";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border-radius: inherit;
}

:before добавляет индикатор, который я хочу удалить или скрыть,

Мне кажется невозможным выбрать только элемент в :before, поэтому я могу сохранить текст меню, но удалить индикатор.

Как я могу изменить или удалить что-то в :beforeиспользуя CSS?

Ответы [ 2 ]

0 голосов
/ 25 сентября 2018

По причинам, которые я не понимаю, :before не работает, но :after работает.Это имеет смысл, поскольку индикатор отображается после значка.

.v-menubar > .v-menubar-menuitem-menulevel0 .v-menubar-menuitem-caption:after {
    content: "";
}
0 голосов
/ 24 сентября 2018

вы можете удалить содержимое, установив его в "", например так:

.v-menubar > .v-menubar-menuitem:before {
   content: "";
}

это удалит значок ">" из вашего меню.

...