я установил margin
для некоторых элементов:Первый элемент, который плавал право
button {
margin: 10px 10px 0 0;
}
a {
margin: 10px 20px 0 0;
}
Теперь, когда я float: right
любой из этих элементов, я хочу установить margin-right: 0
для первого правого плавали элемента. Что-то вроде ниже:
.float-right {
float: right;
/* only for first instance */ margin-right: 0;
}
Каковы варианты этого?
Несколько ограничений:
- У меня есть различные поля для различных элементов, и я хочу
.float-right
класса, чтобы быть универсальным, так что я не могу установитьmargin-right: 0
к классу, а затем установить запас для других экземпляров элемент с правопорядком (.float-right ~ .float-right
). - В моем случае нецелесообразно обертывать элементы в контейнер, чтобы я мог просто использовать псевдоселектор
:first-child
.
Ниже приведен простой пример, когда у меня есть логотип <a>
и логин <a>
- последний плавал право, это не первый элемент типа <a>
, и мне нужно margin-right
быть 0
.
a {
margin-right: 50px;
}
.float-right {
float: right;
}
.float-right:first-child {
margin-right: 0;
}
<a href="">LOGO</a>
<a href="" class="float-right">Login | Register</a>
Я включил очень простую скрипку, чтобы проиллюстрировать ситуацию. Это упрощение, однако ограничения, которые я указал, все еще применяются. – artooras