• ベストアンサー

HP作成中。テーブルの中のセルの設定が変。

お世話になります。 抽象的で申し訳ありませんが、HPの中でテーブルを作成しています。 テーブルのセルで、特に右のスペースを指定していません。 が、なぜか右にスペースが設定されているようになっています。 これは、text-align: right; としてみてわかったのですが、 本来なら右端にうつるはずが、スペースができていました。 どこで設定しているのでしょうか。 どこかの設定に引きずられているのかとも思ったのですが、他でも右スペースの指示はしていません。 何が考えられますか。

質問者が選んだベストアンサー

  • ベストアンサー
  • mohumohu23
  • ベストアンサー率37% (438/1176)
回答No.2

(´・ω・`)・・・ まぁ、たぶん今俺が書き込む前に気付いてるとおもうけど 右のセルでwidth300てしてるんにpaddingで左に80px 70pxて郵便とグラフィック載せるセルにしてるじゃないですか。 そういう風に指定するとそのセルの大きさ自体は一番多いpaddingとってるg1につられて380pxの幅をとっちゃうんですよ。実質的に。 http://digilog.client.jp/css/margin-padding.html これを見るとわかるように。 DTDを正しくセッティングしたなら正しい解釈のほうでレンダリングされるんですが、縮小されてて質問についてる画像みえにくいですが、これは互換モードっぽいですね。ちょっと正しくない解釈でレンダリングされてるようですが、この場合でもie7では幅は380px分とっちゃうようですね。 でも内容の幅は300pxて指定されてるんで、そのセルの300px分がそのセル内でデータが表示される範囲だとされて、右に80px分の余白があいちゃうんですよ。 DTD指定したほうがいいですよ。 あとボーダーのラインの指定が1て端的に書かれてますが1pxと明示しましょう0は単位いらないです。。

その他の回答 (2)

  • mohumohu23
  • ベストアンサー率37% (438/1176)
回答No.3

反応が無いのでどうなったのかわからんけど。 解決策としては padding-leftで左にスキマ空けたぶんだけwidthをひいてやる。 郵便のとこだったら70pxとってるから、実質300pxのセルにしたければ そこのCSSではwidth230px

hiro1190
質問者

お礼

回答していただいていたのもかかわらず、お返事せず、申し訳ありませんでした。 別仕事をかかえてしまい、こちらをおろそかにしてしまっていました。 ご指摘どおり、幅指定を変更したら、思ったように表示されました。 参考URL載せていただいたものを読んで、余白の関係をやっとこさ理解できたような気がします。 本当にありがとうございました。

  • mohumohu23
  • ベストアンサー率37% (438/1176)
回答No.1

こういう場合はソースをはりつけてください。 あと現象が起こってるブラウザとバージョンも。 まぁおそらくセルの横幅設定がされてるんでないかとおもいます。

hiro1190
質問者

補足

失礼しました。ソースというのは以下のことでしょうか。 文字制限ひっかかりましたので、必要そうなところだけ。 これが問題のテーブルです。 あと、ブラウザがどうとかではなく、作成の段階なのですが。 HTML project2 というフリーソフトを使用していて、IEで表示として確認すると変なのです。 <a name="company"><p class="c2"><u>1.会社概要</u></p></a> <table class="t1" cellpadding="0"> <tr><td class="左側">会社名</td><td class="右側">株式会社あああ</td></tr> <tr><td class="左側">代表者</td><td class="右側">いいい</td></tr> <tr><td class="左側">創立</td><td class="右側">2008年2月8日</td></tr> <tr><td class="左側"rowspan="2">所在地</td><td class="郵便"> 〒608-4147 <div>住所</div></td></tr> <tr><td class="g1"><a href="map.html" target="_blank"><img src="maplink.gif" style="border:0; width:200;height:30;" alt="地図はこちら"></a></td></tr> <tr><td class="左側">電話番号</td><td class="右側">085-145-8954</td></tr> <tr><td class="左側">FAX番号</td><td class="右側">025-547-8545</td></tr> <tr><td class="左側">資本金</td><td class="右側">1000万円</td></tr> </table> CSSは以下。 table.t1{border: 1 solid;font-size: 14px;height: 300px;} td.左側{text-align:center;background-color: #FFCCCC;width:160px;border: 1 solid;} td.右側{width:300px;border: 1 solid;background-color:#ffffff;text-align: right;} td.郵便{background-color:#ffffff;width:300px;padding-left:70px;height:50px;border-left:1 solid;border-right: 1 solid;border-top: 1 solid;border-bottom: 0;} td.g1{width:300px;padding-left:80px;height: 35px;border-left:1 solid;border-top:0 solid;border-right:1 solid; border-bottom:1 solid;background-color:#ffffff;}

関連するQ&A

  • テーブルの中のテーブル

    テーブルAのセルの中にテーブルBを入れたいのですが、どうもAの長さが変わると、Bが真中に寄せられるというような感じで、下のほうにずれてしまうのですが、 <table align= top>指定しても解決にならないのです。 同じような質問を見つからなかったので、投稿します。 教えてください。

    • ベストアンサー
    • HTML
  • cssでテーブルの位置を設定するには?

    <table border="1" align="left">でテーブルの位置を競ってすることはできたのですが スタイルシートで行いたいです。 そもそも他のテーブルはすべて中央に寄せたいため、 table { margin-left: auto; margin-right: auto; } としています。 そのうえで、任意のテーブルのみ左に寄せて表示したいので table.test { align:left; } としたのですが、うまくいきません。 ---------------------------------------------------------- <html> <head> <title>test</title> <STYLE type="text/css"> table { margin-left: auto; margin-right: auto; width: 40%; } table.test { width: 80%; align:left; } </STYLE> </head> <body> <table border="1"> <tr><th>見出</th><th>見出</th></tr> <tr><td>セル</td><td>セル</td></tr> </table> <br><br><br> <table border="1" align="left"> <tr><th>見出</th><th>見出</th></tr> <tr><td>セル</td><td>セル</td></tr> </table> <br><br><br> <table border="1" class="test"> <tr><th>見出</th><th>見出</th></tr> <tr><td>セル</td><td>セル</td></tr> </table> </body> </html> ----------------------------------------------------- このコードだと、 table.test { width: 80%; align:left; } の、 width: 80%; の部分は認識されるようですが、align:left;は無視されます。 スタイルシートでテーブルの位置を設定する方法をご教授ください。

    • 締切済み
    • CSS
  • HP作成。テーブルの横にも下にも文字を入れたい。

    HP作成。テーブルの横にも下にも文字を入れたい。 お世話になります。HPを作成しています。わからないことがあります。 タイトルにもしましたが、テーブルについてです。 下記のような感じにページの途中をしたいのですが、どのようにすれば。 ☆テーブル1  -------          -------  |(テーブル1)|    →   |(テーブル2)|  ------           -------  1の補足 違う内容 テーブル1に align="left" と入れたら、 その後入力した分がすべて テーブル1の右になってしまいました。 右になってほしいものと、 下に別項目としたいのとあるのですが、できません。。 アドバイスください。

  • テーブル内のスタイルシートについて。

    カテゴリHTMLでよいのか、ちょっとビクビクしているのですが。 テーブルのひとつのセル内で左揃えの文字列と右揃えの文字列を作りたいのです。 スタイルシートを使おうと思ったのですが、 それぞれの文字列に <SPAN STYLE="text-align:left;">むにゃむにゃ</SPAN> <SPAN STYLE="text-align:right;">うにょうにょ</SPAN> と指定をしても全く反映されません。 一つのセル内で左右に文字を振ることは不可能なのでしょうか?

    • ベストアンサー
    • HTML
  • ウィンドウの大きさに左右されない、CSSを使ったセル幅の設定は??

    HPのトップ画面を作る際に、テーブルを入れ子にして使っています。 ---------------------------------- teble1 [ セル1 ] [*****] [*****] [*****] ---------------------------------- table2 [ セル2 ] [######] [######] [######] [######] [######] ----------------------------------/table2 ----------------------------------/table1 まず、テーブル1のセル1の幅をcssで設定しました。 しかし、テーブル2内のセル2の幅を設定するとセル1の幅が乱れ、 ウィンドウを横に広げるとセル1も延々横に伸びてしまいます。 セル1をメニューボタンとして使うために画像と組み合わせていますので、 幅を固定にしたいのです。 全体の幅は<width="100%">設定しています。 セル幅が狂わないようにするため、 それぞれの列の右端に幅を設定していないセルをおいています。 (苦肉の策だったのですが、テーブル1だけのときはそれでうまく見えていました。) 設定したセル幅のトータルはテーブル2のほうがはるかに大きいのですが、 右端にあまっているセルで調節はきかないのでしょうか? わかりにくい説明で申し訳ございません。 どうかご教授ください。よろしくお願いします。

    • ベストアンサー
    • HTML
  • tableでcolspanを使うと次行以下のセルの幅が均等に?

    tableでcolspanを使うと、colspanで結合した行の次行以下のセルの幅が均等になってしまいます。 どうすれば、colspanで結合した行の次行以下のセルの幅が均等になるのを防げるでしょうか?IE6,IE7 意図的にスタイルシートは、使用しないでください。 例: <table width="300" border="1" cellspacing="1" cellpadding="5"> <tr> <td colspan="2" width="284" align="center"> タイトルセル </td> </tr> <tr align="left" valign="top"> <td width="100"> セル左 <td> <td width="171"> セル右 <td> </tr> <table> 上記の場合、本来ならば、左のセルの幅(100px)が右のセルの幅(171px)より狭いはずなのに、左のセルの幅と右のセルの幅が均等になっていしまいます。 下記コード部分を上記のコードから削除すると、本来の比率で左のセルと右のセルの幅が表示されます。 <tr> <td colspan="2" width="284" align="center"> タイトルセル </td> </tr> よろしくお願いします。

    • ベストアンサー
    • HTML
  • スタイルシートでテーブルやセルを管理する概念と仕組み、HTML

    はじめまして。宜しくお願いいたします。 テーブルやセルの詳細指定について(例えばalignやpaddingなど)、 これまでは個別にやってきました。 しかし上級者の方に「スタイルシートで一括管理を学んだほうが良い」とアドバイスをいただきました。 ただ私は入り口の素人で、スタイルシートについてはまだよく理解ができていません。 概念、しくみ自体が理解できていないのです。 以下、心配な点を挙げてみました。 上級者の方、どうぞお教えください。 1.スタイルシートでテーブルやセルにalignやpaddingなどをやっておくと、 これから新しく作る新規テーブルや新規セルには、alignやpaddingなどを書き込まなくても、それらが効いた状態になるのでしょうか。 またその状態で、当然ながら幅や高さは変えられます…よね? 2.テーブルやセルのいくつかには個別で、すでに、alignやpaddingなどを書き込んでいる場所があります(いわゆる個別で条件が違う部分ですが)。 これら“もともと個別指定があるもの”への影響はどうなるのでしょうか。 個別指定のときには、個別指定のほうが「優先される?」こう考えて正しいでしょうか? 3.テーブルやセルの情報を、「パターンA」「パターンB」「パターンC」のようなイメージでスタイルシートに名付けしておして、 名前を指定して呼び出し反映させる。そういった機能もありますでしょうか。 このテーブルには「パターンA」を呼び出そう。 このテーブルには「パターンB」を呼び出そう。こんな使い方です。 もしあれば、HTMLの基本的な記述方法を教えてください(HTMLの記述については、お時間のある方で結構です)。 参考までに使用ソフトはDreamweaverMX2004です。 宜しくお願いいたします。

  • テーブル内のセル間にスペースを空けたい

    tableタグとtr、tdを使って2行2列の表を作っています。 (1)それぞれのセルとセルの間にスペースを空けたいです。 (2)セルの中の文字の開始位置を1文字分程空けたいです。 CSSでの指定でも構いません。 tdやpにmarginを指定したり、cellpadingなど色々試しましたがうまく行きません。 どうかご教授をお願いします。

    • ベストアンサー
    • HTML
  • エクセルのセルの中のデータの文字ゆれ

    エクセルのセルに入力したデータなのですが、ぴったりと右端に揃っているセルと、微妙に(右)スペースの空いているセルが混在してしまいます。 どちらかに統一したいのですが、方法を教示下さい。 よろしくお願いします。

  • テーブル内の左右にだけ余白を設定するには?

    HPビルダー6.3を使っています。 テーブルを使ってリンク集を作っていますが、 表のセルの左右に余白がなく文字が詰まって 読みづらいと思うので右クリックで表の属性の セル内余白を設定してみましたが、上下にも 余白ができて表示が乱れてしまいます。 セルの左右にだけ余白を作りたいのですが、 どういうhtmlを書き込めばいいですか?教えてください。

専門家に質問してみよう