Лучший способ скрыть определенный класс, у него есть определенное имя - PullRequest
0 голосов
/ 13 марта 2019

Кажется, что скрыть элемент можно 500 способами. Я смотрю, что лучше для стандартов совместимости браузера и, возможно, даже производительности ...

Вот что я хочу скрыть:

<li class="header-menu-user"><a class="header-user" href="/Settings/User/UserProfile">User Settings</a></li>

То, что я пробовал в прошлом, было для другого сценария, в котором я сделал отображение: ни один в li с атрибутом данных и т. Д.

Я просто попытался сделать это, и он не работает (не скрывая его)

.header-user {
    display: none;
}

Ответы [ 3 ]

2 голосов
/ 13 марта 2019

Есть много способов, но обычно подходит один из этих двух:

display: none;

Будет скрывать элемент, то есть окружающие элементы будут игнорировать его, как если бы он не был в DOM, даже если он есть иВы все еще можете нацеливаться на него.

opacity: 0;

По существу сделает элемент прозрачным, невидимым, но он все еще занимает место в различных моделях макетов.

1 голос
/ 14 марта 2019

Вы можете скрыть определенный тег <a> следующим образом:

li.header-menu-user a[href^="/Settings"] { display: none; }
0 голосов
/ 13 марта 2019

С использованием только CSS Display:none; было бы правильным.Единственное влияние, которое это оказывает на производительность, заключается в том, что вы по-прежнему отправляете весь контент, который скрыт в браузере клиента.Если вы хотите повысить производительность, возможно, рассмотрите возможность удаления контента на стороне сервера, если это вариант для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...