CSS - левое и правое выравнивание на одной линии - PullRequest
12 голосов
/ 30 июня 2009

Ниже приведен пример кода, в котором все ссылки выровнены по правому краю. Я хотел бы изменить CSS так, чтобы «левая» ссылка выравнивалась по левому краю, остальные - по правому краю, но все они на одной линии. Как мне это сделать?

Заранее спасибо,

John

HTML:

<div class="mainlinks">
    <a href="left.php" class="links">Left</a>
    <a href="right1.php" class="links">Right1</a>
    <a href="right2.php" class="links">Right2</a>
</div>

CSS:

.mainlinks
    {
    text-align:right;
    margin-top:3px;
    margin-right:10px;
    margin-bottom:0px;
    padding:0px;
    }

 a.links:link {
    color: #FF0000; text-decoration: none;
    text-align:center;
    margin-left:8px;
    margin-top:300px;
    margin-bottom:0px;
    padding:2px;
    font-family:Arial, Helvetica, sans-serif;
    font-size: 14px;
    }

Ответы [ 6 ]

15 голосов
/ 16 марта 2011

Это старый пост, но он хорошо оценен в Google, поэтому он по-прежнему актуален.

Я использовал другой способ выравнивания и вправо и влево на одной и той же линии, без использования какого-либо уродливого поплавка. Он использует табличный дисплей:

HTML:


    <footer>
      <nav>links (to the left)</nav>
      <p>copyright (to the right)</p>
    </footer>

CSS:


    footer
    {
      display: table;
      width: 100%;
    }
    footer nav
    {
      display: table-cell;
      text-align: left;
    }
    footer p
    {
      display: table-cell;
      text-align: right;
    }

Я считаю, что так намного чище.

Надеюсь, это кому-нибудь поможет!

10 голосов
/ 30 июня 2009

Плавающая слева направо

.left {float:left;}

    <div class="mainlinks">
        <a href="left.php" class="links left">Left</a>
        <a href="right1.php" class="links">Right1</a>
        <a href="right2.php" class="links">Right2</a>
    </div>

Но вам нужно убрать верхнюю границу: 300px от a.links:link, в противном случае левый будет на 300px ниже правого.

3 голосов
/ 30 июня 2009

Положите каждый в отдельном div. Поплавок один слева, один справа. Установите ширину.

<div class="mainlinks">
    <div class="left">    
        <a href="left.php" class="links">Left</a>
    </div>
    <div class="right">
        <a href="right1.php" class="links">Right1</a>
        <a href="right2.php" class="links">Right2</a>
    </div>
</div>

CSS

.mainlinks .left {
    float:left;
    width: 49%;
}

.mainlinks .right {
    float:right;
    width: 49%;
}
1 голос
/ 30 июня 2009
<style>
.mainlinks
    {
    text-align:right;
    margin-top:3px;
    margin-right:10px;
    margin-bottom:0px;
    padding:0px;
    }

 a.links:link {
    color: #FF0000; text-decoration: none;
    text-align:center;
    margin-left:8px;
    margin-top:300px;
    margin-bottom:0px;
    padding:2px;
    font-family:Arial, Helvetica, sans-serif;
    font-size: 14px;
    }

.right { float: right }
.left { float: left }

</style>
<div class="mainlinks">
    <a href="left.php" class="links left">Left</a>
    <a href="right1.php" class="links right">Right1</a>
    <a href="right2.php" class="links right">Right2</a>
</div>
0 голосов
/ 04 февраля 2015

Вы можете использовать display: flex; для контейнера с justify-content: space-between; и align-items: baseline;. Есть хороший sass mixin для flex, поддерживающий старый и новый синтаксис: https://github.com/mastastealth/sass-flex-mixin

0 голосов
/ 30 июня 2009

вам нужно поместить его в отдельные блоки (div) или переопределить с помощью более специфического CSS, применяя к ссылке, как предложено @ skurpur

Я полагаю, что вы должны добавить display: block к ссылке, чтобы разместить ее - например, могут быть расположены только блочные элементы.

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