В коде есть две основные проблемы: во-первых, как @Daniel указал в своем ответе, размеры элемента должны быть явными, чтобы предотвратить автоматическое изменение размера. Кроме того, как отмечено в этот ответ , элементы inline-block
конфликтуют с размером border-box
, но есть несколько обходных путей.
Например, атрибут CSS overflow: hidden
также может быть добавлен к рассматриваемому элементу. Кроме того, можно использовать vertical-align: top
, чтобы все элементы имели одинаковую базовую линию. Функциональный пример можно увидеть ниже, с большей границей для выделения:
a{
display:inline-block;
background:#fff;
border:10px solid #ccc;
box-sizing:border-box;
width:5em;
height:5em;
overflow:hidden;
padding:1rem;
}
a.active{
border:0;
background:orange;
}
<a class="active" href="#">EN</a><a href="#">FR</a>