trの直下にpを配置してtdやinputを書いてるんですがこれだとチェックボックスとサッカーやフットサルといった文字列がなかなか横並びにできません
text-align: center;を使ってみたりdisplay: inline-block;を使ってみたりしましたがだめでした
□
サッカー
↑これが現状です
□ サッカー
こんな感じにしたいです
pはブロック要素でinputがインラインなのはわかっているんですが...
html
1<table id="table2" align="center"> 2 <tr> 3 <p> 4 <td>趣味:</td> 5 <td><input type="checkbox">サッカー</td> 6 <td><input type="checkbox">フットサル</td> 7 <td></td> 8 <td></td> 9 <td></td> 10 </p> 11 </tr> 12</table>
css
1#table2 { 2 border: 1px solid red; 3 width: 80%; 4 height: 100px; 5 font-size: 12px; 6} 7 8#table2 td { 9 border: 1px solid red; 10 width: 17%; 11} 12 13#table2 td input { 14 width: 100%; 15 display: inline-block; 16}
tr,tdのそれぞれの役割を分かってそこにpを置いているのでしょうか。HTML構文チェックにかけてみると良いです。 http://www.htmllint.net/html-lint/htmllint.html
↑は本件とはあまり関係ありませんが、ちょっとひどいですね。上記構文チェッカーでHTML5にチェック入れて確認してみると良いです。非推奨要素も使われてますし。
<tr>直下に<p>を置く意図を説明してください。
ぶっちゃけどこかのサイトでそう書いてあったのでこれがinputの右に何かを書く定石かと思ってました。
どこか分からないサイトを丸々信用してしまうのも問題です。それ以前の問題が山積しているので、そこから解決すべきです。指示した通りにしか動かないので感覚でやっては動かないのは当然ですよ。
で、最初のコメントの構文チェッカーは試してみたのでしょうか。そもそも何に対する返答にもなってませんよ。
inputをwidth: 100%;にしている時点で気づいてほしいですね…。「とりあえずなんでもかんでもコピペ」だとあとで泣きを見ます。そのコードがどのような意図で書かれているのか1つずつ確認することも必要です。