web-dev-qa-db-ja.com

CSSを使用してテキストエリアを中央に配置する方法は?

このような単純な質問をすることを許してください、私はHTMLとCSSの両方が初めてです。テキストエリアを中央に配置する簡単な方法はありますか?使ってみようと思った

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

しかし、それは(明らかに?)動作しませんでした。

40
Chris

テキストエリアはブロックレベルの要素ではないため、マージンはテキストエリアに影響しませんが、必要に応じてブロックを表示することができます:

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

before and after

デフォルトでは、textareasはdisplay: inline。これは、簡単に並べて配置できる理由であり、text-align: center回答も動作します。

Textareaは、次のように flexbox container 内に配置することで中央に配置することもできます。

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

<div class="justified">
    <textarea>Textarea</textarea>
</div>
79
Douglas

次のように、要素の親のtext-aligncenterに設定します。

HTML:

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

CSS:

div { text-align: center; }

以下に例を示します。 http://jsfiddle.net/ujzLt/

9
davehauser

display: block;をテキストエリアのスタイルに追加します

2
Jeff Adams
<!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>

textareaをdivでラップし、幅を指定してから、text-align:center;

1
Sotiris