Top プロパティ

最終更新:2026-09-13

top Top プロパティ

top プロパティは、配置された要素がその包含ブロックの上辺からどれだけ離れているか(オフセット)を定義します。このプロパティが適用されるのは、position が relative・absolute・fixed・sticky の要素だけであり、要素の垂直方向の位置を正確に制御するために使われます。

カテゴリ
初期値auto
継承いいえ
適用対象配置済み要素
アニメーションタイプlength
CSS バージョンCSS2
状態標準

📝 構文

top: auto | <length> | <percentage>;

⚙️ 値

タイプ説明
autoキーワードオフセットなし。
<length> | <percentage>タイプ包含ブロックに対する相対的なオフセット値。

▶ 例

以下のコードを編集して、プレイグラウンドでライブ結果を確認してください:

🌐 ブラウザーサポート

ブラウザー ChromeChrome EdgeEdge FirefoxFirefox SafariSafari OperaOpera
top v1 v12 v1 v1 v1
すべての主要ブラウザーでサポート
注意: top が影響するのは配置された(static 以外の)要素だけです。position:static の要素に設定しても効果はありません。
ヒント: パーセント値は包含ブロックの高さを基準に計算されます。auto を指定すると、ブラウザーが他のプロパティから位置を解決します。

❓ よくある質問

Qtop と bottom を両方設定するとどうなりますか?
A状況によります。height が指定されていない absolute または fixed 要素では、top と bottom の間を埋めるように要素が伸び、高さが自動調整されます。relative の場合は top が優先され bottom は無視されます。height も指定されている場合も、top が優先されて bottom は無視されます。この挙動は、親要素内で要素を垂直方向に引き伸ばす(背景レイヤーを全高にするなど)場合によく使われます。
Qtop のパーセントは何を基準にしますか?
Aパーセントは包含ブロックの高さを基準に計算されます。absolute 要素の包含ブロックは最も近い配置済み祖先の padding box です。fixed の場合はビューポート、relative の場合は要素自身の元の位置です。つまり top:50% とすると、要素の上辺が包含ブロックの高さの半分の位置に来ます。垂直方向の中央揃えによく使われ、transform:translateY(-50%) と組み合わせます(transform は要素自身の高さの半分だけ移動するためです)。
Qtop が効かないのはなぜですか?
A最も多い原因は要素が配置されていないことです。top は position が relative・absolute・fixed・sticky の要素にのみ効き、デフォルトの static では完全に無視されます。また、値が有効(auto・長さ・パーセント)であるか、height などのプロパティで上書きされていないかも確認してください。まず position を確認し、次にオフセットの計算を検証します。
Qtop:50% で垂直方向に中央揃えするには?
A要素に position:absolute を設定し、親に position:relative を設定します。次に top:50% で上辺をコンテナーの中央に置き、transform:translateY(-50%) を適用して要素自身の高さの半分だけ上に移動させます。これで垂直中央揃えになります。transform は要素自身の高さの 50% だけ動かす点が top のパーセントとは異なり、両方を組み合わせることで内容のサイズにかかわらず真の中央揃えが実現できます。

📚 関連チュートリアル

Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%