Подтвердить что ты не робот

Как я могу сосредоточить содержимое div, который плавает: осталось?

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

.buttons a, .buttons button{
    display:block;
    float:left;
    margin:0 7px 0 0;
    background-color:#f5f5f5;
    border:1px solid #dedede;
    border-top:1px solid #eee;
    border-left:1px solid #eee;

    font-family:"Lucida Grande", Tahoma, Arial, Verdana, sans-serif;
    font-size:100%;
    line-height:130%;
    text-decoration:none;
    font-weight:bold;
    color:#565656;
    cursor:pointer;
    padding:5px 10px 6px 7px; /* Links */
}
.buttons button{
    width:auto;
    overflow:visible;
    padding:4px 10px 3px 7px; /* IE6 */
}
.buttons button[type]{
    padding:5px 10px 5px 7px; /* Firefox */
    line-height:17px; /* Safari */
}
*:first-child+html button[type]{
    padding:4px 10px 3px 7px; /* IE7 */
}
.buttons button img, .buttons a img{
    margin:0 3px -3px 0 !important;
    padding:0;
    border:none;
    width:16px;
    height:16px;
}

Затем у меня есть несколько кнопок в строке, которые я хочу использовать так:

<div class="buttons">
    <a href="/password/reset/"><img src="pict1.png" class="positive" alt=""/>Button 1</a>
    <a href="/password/reset/"><img src="pict2.png" alt=""/>Button 2</a>
    <a href="/password/reset/"><img src="pict3.png" class="negative" alt=""/>Button 3</a>
</div>

Смотрите этот пример: http://reljac.com/csstest.php

Но эта строка кнопок, возможно, должна быть выровнена по центру, а не все вправо или влево. Если я изменил CSS на...

.buttons a, .buttons button{
    /*display:block;
    float:left;*/
    margin:0 7px 0 0;

Кнопки больше не отображаются правильно, если есть изображение, особенно в IE 6,7 и 8.

Смотрите этот пример: http://reljac.com/csstest_wo.php

Я могу изменить float вправо, чтобы заставить кнопки выравниваться вправо, но я не могу понять, что делать, чтобы их центрировать (например, в <td></td>).

Итак, я хочу использовать стиль как есть, но мне также нужно иметь возможность центрировать, если необходимо, выравнивание кнопок.

4b9b3361

Ответ 1

Попробуйте добавить это в CSS:

.buttons
{
    text-align:center;
    margin: 0px auto 0px auto;
}

Авто делает поля равными с каждой стороны. Text-align - это средство для старых браузеров.

EDIT:

Добавьте дополнительный div вокруг кнопок под названием buttonwrapper. затем примените этот CSS

.buttonwrapper
{
    position:relative;
    float:left;
    left:50%;
}

.buttons
{
    position:relative;
    float:left;
    left:-50%;
}

Метод принят (но не проверен) из http://www.pmob.co.uk/temp/centred-float4.htm

Ответ 2

Я обнаружил, что когда у вас есть родительский div float слева и дочерний div, который вы пытаетесь сосредоточиться, много раз люди забывают наследование.

HTML:

<div class="parent">
     <div class="child">
          Text
     </div>
</div>

CSS

.parent {
  float: left;
  width: 300px;
}

.child {
  float:        none; /* <-- IMPORTANT! */
  width:        200px;
  margin-left:  auto;
  margin-right: auto;
}

ВАЖНО: Наследование указывает, что дочерний div также перемещается влево. Итак, убедитесь, что дочерний div не имеет float, а затем margin: auto, как обычно.