2016-11-03 6 views
0

Мне нужно центральные кнопки в середине страницы, один под другим.Текстовые выравнивающие центральные кнопки

Я использовал код ниже, но в результате кнопки все еще отображались рядом друг с другом.

header { 
 
    text-align: center; 
 
    .btn { 
 
    @include Myriad-Pro-Light; 
 
    border-radius: 7px; 
 
    padding: 5px 10px; 
 
    border: none; 
 
    } 
 
    .btn-green { 
 
    color: #fff; 
 
    background: #7CAE9E; 
 
    margin: 20px; 
 
    } 
 
    .btn-grey { 
 
    color: #333; 
 
    background: $grey; 
 
    margin: 20px; 
 
    } 
 
}
<header> 
 
    <a href="#" class="btn btn-default btn-green" role="button">Button A</a> 
 
    <a href="#" class="btn btn-default btn-grey" role="button">Button B</a> 
 
</header>

Спасибо

+1

Ребята - действительно считают, что код, прежде чем сделать это в работоспособный фрагмент кода. Если CSS нужно запускать через препроцессор, прежде чем он может быть использован, то он не будет выполнен. – Serlite

+0

Поместите '
' между ними? – j08691

ответ

0

вы можете использовать "Flexbox" для этого

header { 
 
    display: flex; 
 
    flex-direction: column; 
 
    align-items: center; 
 
    .btn { 
 
     @include Myriad-Pro-Light; 
 
     border-radius: 7px; 
 
     padding: 5px 10px; 
 
     border: none; 
 
    } 
 

 
    .btn-green { 
 
     color: #fff; 
 
     background: #7CAE9E; 
 
     margin: 20px; 
 
    } 
 

 
    .btn-grey { 
 
     color: #333; 
 
     background: $grey; 
 
     margin: 20px; 
 
    } 
 
}
<header> 
 
     <a href="#" class="btn btn-default btn-green" role="button">a</a> 
 
     <a href="#" class="btn btn-default btn-grey" role="button">b</a> 
 
    </header>

Без Flexbox

.btn { 
 
    @include Myriad-Pro-Light; 
 
    border-radius: 7px; 
 
    padding: 5px 10px; 
 
    border: none; 
 
    float: left; 
 
    clear: both; 
 
    width: calc(100% - 40px); 
 
    box-sizing: border-box; 
 
    text-align: center; 
 
} 
 
.btn-green { 
 
    color: #fff; 
 
    background: #7CAE9E; 
 
    margin: 20px; 
 
} 
 
.btn-grey { 
 
    color: #333; 
 
    background: $grey; 
 
    margin: 20px; 
 
}
<header> 
 
    <a href="#" class="btn btn-default btn-green" role="button">a</a> 
 
    <a href="#" class="btn btn-default btn-grey" role="button">b</a> 
 
</header>

+0

Спасибо, но я боюсь, что flex не будет работать на старых браузерах, например IE у вас есть другое решение? – JZK

+0

хорошо плавайте ваши кнопки и используйте clear: both; –

+0

@JZK Насколько вы находитесь в совместимости с браузером? Это может кардинально повлиять на потенциальные ответы. – Serlite

0

Update проверка новая скрипка

https://jsfiddle.net/bimbonkens/fa7s3ypj/

вам нужно только

display:block 

на кнопках.

также ваш синтаксис CSS является неправильным для ванильного CSS (нет Препроцессоры)

header { 
    .btn {} 
} 

должен быть этот

header { } 
.btn { } 

и если вам нужен контекст:

header {} 
header .btn {} 

Вам нужно использование

margin: 0 auto; 

для блочных элементов, потому что

text-align:center; 

работает только на встроенных и встроенный блок

+0

Да, извините. Я использую SCSS Это то, что, когда я использовал блок отображения, он растягивает кнопки на всей ширине страницы. Мне не нужно, чтобы – JZK

+0

нормально, в любом случае вам следует узнать о блочном, встроенном, встроенном блоке и других типах элементов. – Bimbonkens

0

Вы хотите что-то вроде этого: -

header { 
 
    text-align: center; 
 
    .btn { 
 
    @include Myriad-Pro-Light; 
 
    border-radius: 7px; 
 
    padding: 5px 10px; 
 
    border: none; 
 
    } 
 
    .btn-green { 
 
    color: #fff; 
 
    background: #7CAE9E; 
 
    margin: 20px; 
 
    } 
 
    .btn-grey { 
 
    color: #333; 
 
    background: $grey; 
 
    margin: 20px; 
 
    } 
 
}
<header> 
 
    <a href="#" class="btn btn-default btn-green" role="button">Button A</a><br> 
 
    <a href="#" class="btn btn-default btn-grey" role="button">Button B</a> 
 
</header>

0

1 w ау идти может быть следующее:

header { 
 
    text-align: center; 
 
} 
 
    header .btn { 
 
    border-radius: 7px; 
 
    padding: 5px 10px; 
 
    border: none; 
 
    display: block; 
 
    width: 100px; 
 
    margin: auto; 
 
    } 
 

 
    .btn-green { 
 
    color: #fff; 
 
    background-color: #7CAE9E; 
 
    margin: 20px; 
 
    } 
 
    .btn-grey { 
 
    color: #333; 
 
    background-color: grey; 
 
    margin: 20px; 
 
    }
<header> 
 
    <a href="#" class="btn btn-default btn-green" role="button">Button A</a> 
 
    <a href="#" class="btn btn-default btn-grey" role="button">Button B</a> 
 
</header>