
No.3ベストアンサー
- 回答日時:
結果どうしたいのか不明ですが、
>div要素をセンタリング
aをセンターリングするのではなく、”div要素”をセンタリングですね?
その例だと、
<td style="padding: 0 100px;">
等で簡単で済みそうですが・・・
見た目同じでも、本来のセンターリングの意味にはならないので以下で。
まずは、貴方のHTMLは間違っています。
<div><a href="#"></div>
この↑divの中身は一体何でしょう? ここの質問だけの例だとしても適切に書きましょう。
<div><a href="#">例</a></div>
#1の方の回答では、divはセンターリングされません。
div内のインライン要素(文章など)はセンターリングになりますが
ブロック要素は、腐ったブラウザを除いてセンターリングされない・・・
divに罫線(枠のborder)を入れると理解できるでしょう。
箱を移動させる? 物を移動させる? この違いです。どちらかな?
#2の方のは、〆のHTMLが間違かな・・・
divはブロック要素なので、デフォルトでは幅が100%になります。
幅が100%なのだから、右も左もセンターもありません・・・
||大大大大大大| ← 幅が大きいと移動できない。
| |小| ← 幅が小さいと移動できる。
なので、
td内で、divのボックス自体が遊べるように、
tdの幅よりもdivの幅を小さくするのが第一条件です。
次に、
divの左右を margin:auto; にする。
例:
<td style="width:200px;">
<div style="width:100px; margin:auto; border:1px solid red;">
<a href="">例</a>
</div>
</td>
これで、中身のインライン要素が左(デフォルトなら)のままで、
divだけがセンターに配置されます。
外部CSSなら(数値は適当)
td{ width:200px;}
td div{ width:100px; margin:auto;}
因みに、上記ができなければ、
過去モードの可能性があるのでハックなどの別途対応が必要です・・・
<td style="width:200px; text-align:center;">
<div style="width:100px; margin:auto; text-align:left; border:1px solid red;">
<a href="">例</a>
</div>
</td>
あとは応用とか、「CSS センターリング」で検索するとか。
お礼が遅れてすみません。
確かに、ブロック要素とインライン要素の違いでした。
widthを指定してmarginのautoでOKでした。
しょーもない質問ですみません。ご回答ありがとうございました。
No.2
- 回答日時:
divは汎用ブロック要素ですから、ブロック要素をそれが含まれるブロック内で中央に配置するときには、自身の巾を指定して左右のマージンをautoにすると中央に配置されます。
td{width:10em;}
td div{width:6em;margin-right:auto;margin-left:auto;}
です。
行内要素は、text-align:center;で中央寄せするのとは異なります。
★ただし、「単に文書内容を整形する目的だけで表を用いるべきでない。 ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )」は、とても重要な守るべきルールです。
表は二次元データを並べるためのもので、デザインのために使用すべきではありません。
また、divは「複数のブロックをグループ化するときや、他に適切な要素がないときに使用する最終手段」です。tableと同様にデザインのためだけに使用するものではありません。--HTML5では、ここはより厳しくなります。
<td>
<p><a href=""></a></td>
</td>
で良い場合が多いのでは?
No.1
- 回答日時:
HTML部分
<table>
<tr>
<td class="cen">
<div><a href="#"></div>
</td>
</tr>
</table>
CSS部分(外部CSSの場合)
td.cen {
text-align: center;
}
CSS部分(内部CSSの場合)
<head>
<style type="text/css">
<!--
td.cen {
text-align: center;
}
-->
</style>
</head>
それから、アンカーリンクの前にDIVを挟まなくてもセンタリングはできるかと^^;
改行目的のDIVであるのであれば、大人しく
CSS部分(外部CSSの場合)
td.cen {
text-align: center;
padding-top: 16px;
}
CSS部分(内部CSSの場合)
<head>
<style type="text/css">
<!--
td.cen {
text-align: center;
padding-top: 16px;
}
-->
</style>
</head>
などとされたほうがよろしいかと。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- HTML・CSS 【CSS】:hasで可能? imgを含むtr要素を選択したい 1 2022/11/17 14:36
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- HTML・CSS HTML & CSS 縦ボックス内の文字の左右センタリング 3 2023/03/25 04:23
- HTML・CSS 自身のHPにYouTube動画を貼り付けるのが出来なくなり困ってます 1 2022/11/11 10:44
- JavaScript jQueryで同じクラス名のものを別物として扱いたい 1 2022/06/17 14:14
- MySQL SQL任意に並び替えをしたい 2 2023/08/28 10:47
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
tableタグとformタグの組み合わせ
-
テーブル内に棒グラフを作る方法
-
センタリングしたページの印刷
-
ブラウザの文字サイズを変える...
-
FLASHの上にテーブルを重ねるには
-
テーブルが左右上下中央表示に...
-
html でのテキスト結合について
-
HTMLに詳しい方に質問です。。
-
FireFoxで背景が表示されない。
-
ブラウザによってテーブルのセ...
-
ie8のcssでcol要素のwidthがき...
-
IEでテーブル内のテキストが...
-
表の作成をスタイルシートで
-
HTMLのTableの段組について
-
[css]tableのtr、10行ごとに背...
-
作成したメールフォームの内容...
-
ドキュメントタグについて
-
Tableタグで作成した表の縮小
-
【C#】Listを使った自作プロパ...
-
HP作成で教えて下さい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
html でのテキスト結合について
-
tableタグとformタグの組み合わせ
-
Firefoxを使ってるのですがズー...
-
同じクラス名はつけないほうが...
-
テーブルの一部分のセルだけに...
-
divで囲んだ文字が消える
-
Tableタグ内のspan styleが適応...
-
<img>タグにCSSのclass設定可能?
-
cssで、テーブルのtdの中の文字...
-
vbscriptで時計を作りたい
-
td要素内のdiv要素をセンタリン...
-
Tableタグで作成した表の縮小
-
XHTMLに関する質問 順序が逆に...
-
trとtrの間
-
formのinputなどの幅100%指定
-
firefoxで「height: 100%;」と...
-
画像を並べて配置したい
-
表とリスト(ulとtable)の違い...
-
CSSで空けた文頭の全角スペース...
-
Visual Studio で CLR 開発でデ...
おすすめ情報