Как центрировать текстовую область с помощью CSS? - PullRequest
39 голосов
/ 27 августа 2010

Простите, что задаю такой простой вопрос, я новичок в HTML и CSS Есть ли простой способ центрировать текстовую область? Я решил, что просто попробую использовать

textarea{
    margin-left: auto;
    margin-right: auto;
}

но это (очевидно?) Не сработало.

Ответы [ 4 ]

78 голосов
/ 27 августа 2010

Поля не влияют на текстовое поле, потому что оно не является элементом уровня блока, но вы можете сделать его отображением блока, если хотите:

textarea {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

before and after

Byпо умолчанию текстовые области равны display: inline, поэтому вы можете легко размещать их рядом и поэтому ответы text-align: center тоже работают.

Текстовая область также может быть отцентрирована, помещая ее внутри контейнер flexbox как это:

<style>
    div.justified {
        display: flex;
        justify-content: center;
    }
</style>

<div class="justified">
    <textarea>Textarea</textarea>
</div>
9 голосов
/ 27 августа 2010

Установите text-align родительского элемента в center, например:

HTML:

<div>
    <textarea></textarea>
<div>

CSS:

div { text-align: center; }

Вотпример: http://jsfiddle.net/ujzLt/

2 голосов
/ 27 августа 2010

добавьте display: block; к вашим стилям textarea

1 голос
/ 27 августа 2010
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<style>#container {width:100%; text-align:center;}</style>
</head>

<body>
<div id="container">
<textarea name="mytextarea" cols="10" rows="10"></textarea>
</div>
</body>
</html>

вы оборачиваете текстовое поле div, задаете его ширину, а затем выравниваете его по text-align:center;

...