Я начал изучать Bootstrap 4 и HTML5 / CSS в целом. Я хочу создать текстовую область с двумя кнопками сбоку (по центру друг относительно друга):
Я получил следующий код:
<link rel = "stylesheet" href = "https://maxcdn.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css">
<div class = "container mt-2">
<div class = "row">
<div class = "col-10">
<textarea class = "form-control" rows = "3" id = "sent_text" placeholder = "Just write some text.."></textarea>
</div>
<div class = "col-2">
<div class = "row">
<button class = "btn btn-success btn-sm m-1" type = "button">Send</button>
</div>
<div class = "row">
<button class = "btn btn-info btn-sm m-1" type = "button">Clear</button>
</div>
</div>
</div>
</div>Я создал строку с двумя столбцами. Второй столбец содержит две строки. Это правильный путь?
Спасибо






Лучше сделать это с justify-content-around d-flex flex-column в столбце кнопок. Не было необходимости в дополнительном элементе row в div col-2.
<link rel = "stylesheet" href = "https://maxcdn.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css">
<div class = "container mt-2">
<div class = "row">
<div class = "col-10">
<textarea class = "form-control" rows = "3" id = "sent_text" placeholder = "Just write some text.."></textarea>
</div>
<div class = "col-2 justify-content-around d-flex flex-column">
<div>
<button class = "btn btn-success btn-sm" type = "button">Send</button>
</div>
<div>
<button class = "btn btn-info btn-sm" type = "button">Clear</button>
</div>
</div>
</div>Вы должны поместить каждую кнопку в div с классом col -....
Документация Bootstrap о вложении элементов в ряд
Codepen с вашим примером, чтобы показать вам разницу, когда вы используете класс col -....
<div class = "container mt-2">
<div class = "row">
<div class = "col-10">
<textarea class = "form-control" rows = "3" id = "sent_text"
placeholder = "Just write some text.."></textarea>
</div>
<div class = "col-2">
<div class = "row">
<button class = "btn btn-info btn-sm m-1" type = "button">Clear</button>
</div>
<div class = "row">
<div class = "col-12">
<button class = "btn btn-success btn-sm m-1" type = "button">Send in col</button>
</div>
</div>
<div class = "row">
<div class = "offset-6 col-6">
<button class = "btn btn-success btn-sm m-1" type = "button">Send centered using col</button>
</div>
</div>
</div>
col для столбца textarea, чтобы он занимал все доступное пространство.col-auto для столбца кнопок, чтобы он занимал столько места, сколько нужно. А затем используйте d-flex flex-column, чтобы изменить его направление.<link rel = "stylesheet" href = "https://maxcdn.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css">
<div class = "container mt-2">
<div class = "row">
<div class = "col">
<textarea class = "form-control" rows = "3" id = "sent_text" placeholder = "Just write some text.."></textarea>
</div>
<div class = "col-auto d-flex flex-column">
<button class = "btn btn-success btn-sm m-1" type = "button">Send</button>
<button class = "btn btn-info btn-sm m-1" type = "button">Clear</button>
</div>
</div>
</div>Также хорошо сделать textarea non-reziable. Попробуй это
textarea.form-control{
resize: none;
}<link rel = "stylesheet" href = "https://maxcdn.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css">
<div class = "container mt-2">
<div class = "row">
<div class = "col-10">
<textarea class = "form-control" rows = "3" id = "sent_text" placeholder = "Just write some text.."></textarea>
</div>
<div class = "col-2">
<div class = "row">
<div class = "d-flex flex-column">
<button class = "btn btn-success btn-sm m-1" type = "button">Send</button>
<button class = "btn btn-info btn-sm m-1" type = "button">Clear</button>
</div>
</div>
</div>
</div>
</div>
Контент не следует размещать непосредственно в
.row..rowиспользуется только для хранения столбцов.