• ベストアンサー

テーブルの角を丸くするには?

テーブルの背景を入れて、その背景の角を丸くしようと思っていますが、HTMLでの、角を丸くするやり方だと、ソースが多くなって、 ただでさえ、複雑になるのに、さらに複雑になって大変なので、 CSSや他のもので、角を丸くする方法はありますか?

noname#57880
noname#57880
  • HTML
  • 回答数4
  • ありがとう数5

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

  • ベストアンサー
  • leap_day
  • ベストアンサー率60% (338/561)
回答No.3

こんにちは 『角丸 css』『角丸 テーブル』『角丸 画像』『角丸 javascript』などを検索にかければ色々とサンプルが出てきますよ 簡単ですがサンプル <style type="text/css"><!-- div { background-color:Lightblue; margin:0px; } #kadomaru { width:200px; background-color:white; } .r1 { height:1px; margin:0px 1px; overflow: hidden; } .r2 { height:1px; margin:0px 2px; overflow: hidden; } .r3 { height:1px; margin:0px 3px; overflow: hidden; } .r4 { height:1px; margin:0px 4px; overflow: hidden; } --></style> <div id="kadomaru"> <div class="r4"></div> <div class="r3"></div> <div class="r2"></div> <div class="r1"></div> <div>本文コンテンツ</div> <div class="r1"></div> <div class="r2"></div> <div class="r3"></div> <div class="r4"></div> </div> ですがcssでは円はかけなかったと思うのでよく見ると角『丸』テーブルというより角『ちょっと角々』テーブルって感じですね(笑) 用意するのは6つの画像(別に10pxでなくてもいいです) ・半径10pxの1/4円(左上用、右上用、左下用、右下用) ・横ライン用画像(1px*10px) ・縦ライン用画像(10px*1px) <style type="text/css"><!-- .kadomaru { float:left; margin:0px; } #LT { width:10px; height:10px; background-image:url(左上画像のパス); background-repeat: no-repeat; } #RT { width:10px; height:10px; background-image:url(右上画像のパス); background-repeat: no-repeat; } #LB { width:10px; height:10px; background-image:url(左下画像のパス); background-repeat: no-repeat; } #RB { width:10px; height:10px; background-image:url(右下画像のパス); background-repeat:no-repeat; } #XLINE { width:480px; height:10px; background-image:url(横ライン画像のパス); background-repeat: repeat-x; } #YLINE { width:10px; background-image:url(縦ライン画像のパス); background-repeat:repeat-y; } #contents { width:480px; background-color:背景色; } --></style> <div class="kadomaru" id="LT"></div> <div class="kadomaru" id="XLINE"></div> <div class="kadomaru" id="RT"></div> <div style="clear:both;"></div> <div class="kadomaru" id="YLINE">&nbsp;</div> <div class="kadomaru" id="contents"> ここに本文を書く </div> <div class="kadomaru" id="YLINE">&nbsp;</div> <div style="clear:both;"></div> <div class="kadomaru" id="LB"></div> <div class="kadomaru" id="XLINE"></div> <div class="kadomaru" id="RB"></div> <div style="clear:both;"></div> でも出来ます ※状況によってちょっとした微調整は必要になるかもしれませんがそれは色々試してみてください

noname#57880
質問者

お礼

返事おくれました。 詳しい説明とサンプルありがとうございます。 >角丸 css』『角丸 テーブル』『角丸 画像』『角丸  >javascript』などを検索にかければ色々とサンプルが出てきますよ このように検索をかければよかったんですね。私のような素人だと、 検索の仕方が上手くできないもので・・ このサンプルを利用して、納得の行くものが出来そうです。 後は、このCSSを外部ファイルとして読めば、HTMLの方が 複雑にならないので、助かります。 やはり、イメージのものを作ろうとしすると、JSファイルや、テブールでテーブルを囲ったり、その中にまたJSファイルを読み込んだと やっていくと、複雑になりすぎて、作る時もそうですが、手直しする時も、外部ファイルは別として、HTMLを修正するときに分けが分からなくなってしまいますので、私のような素人には、すごくたすかります

その他の回答 (3)

  • leap_day
  • ベストアンサー率60% (338/561)
回答No.4

こんにちは ちょっと修正 下側の画像を使ったほう本文が2行以上の時には対応して無かったです(><) #contentsと#YLINEのcssに height:***px; 追加してください

noname#57880
質問者

お礼

訂正までしてくれてありがとうございます。 忙しくて、下記サンプルで、作っては居ませんが、この休みで、作ってみます。イメージしていたのが作れそうで凄く満足していますし、大変助かっています。

  • waracabin
  • ベストアンサー率64% (40/62)
回答No.2

No.1の方同様、CSSのほうが複雑だと思います。テーブルは確かにややこしく見えますが、目が慣れればわかりやすいもんです。 もし「幅は固定」と決まっている(縦には伸縮するが、横幅は固定)なら、簡単に説明すると、 ○□□□□□□○←この列自体の画像(a)を用意し、背景指定 □□□□□□□□ □□□□□□□□ □□□□□□□□←伸縮部分は画像(b)の背景を縦にリピート指定 □□□□□□□□ □□□□□□□□ ○□□□□□□○←この部分も画像(c)を用意し、背景指定 ざっくばらんに言うとこんな感じでできます。画像3つを用意するだけで大丈夫です。 というと簡単そうですが、たぶん質問者さんはCSSについてあまり知識がないと見受けられますので、設定でちんぷんかんぷんになるかと思われます。 ので、やはり「テーブルが無難」かなぁと……。

noname#57880
質問者

お礼

返事おくれました。 CSSはあんまり使ってないので、よく理解していない部分も多いです。やはり、テーブルの方がよさそうですね。 でも、他の回答者さんが、CSSでサンプルを作ってくれたので、そちらも試してみたいと思います。

回答No.1

>HTMLでの、角を丸くするやり方だと、ソースが多くなって、ただでさえ、複雑になるのに、さらに複雑になって CSSで角丸を実現するほうがよっぽど複雑じゃないですか? テーブルが一番簡単でしょう。ソース多くなりますか? もっとも、テーブルの角丸は、推奨されませんがね。

noname#57880
質問者

お礼

テーブルが簡単なんですね! パット見テーブルの方がややこしそうだとおもったので。

関連するQ&A

  • テーブルをスマートなソースで書く方法

    テーブルを作りたいと思っているのですが HTML・CSSでできるだけスマートなソースで書く方法がうまく思いつきません。 セルの枠とセル内の色のある部分を3ピクセルほど開けて背景の画像が透けて見えるようにしたいのですが、 1ピクセル幅で白い枠を作る&背景の透けている空白部分は3ピクセルの空セル、というやり方でHTMLのみで組んだり CSSのボックスを使って組んでみたりしましたが 画像どおりのものはできるもののもっと簡単な書き方があるように思えます。 なんだかものすごく簡単なことを聞いていて恥ずかしいのですが、案をお持ちの方どうぞよろしくお願いいたします。

    • ベストアンサー
    • HTML
  • 角が丸いテーブルをCSSで作るには

    <head></head>内をいじれる(<body></body>内はいじることができない)レンタル掲示板で、ベースのテーブルの角を丸くするにはどうすればいいのでしょうか? 通常、<body></body>内に記述ができる場合は3×3のテーブルを作ってその四隅に丸い角の部分になる画像を背景として置くことで角の丸いテーブルを作ることができるということはわかったのですが、<body></body>内に記述ができない場合どうすればいいのかがわかりません。 分かる方がおりましたら教えていただけると助かります。

    • 締切済み
    • CSS
  • テーブルの角を丸く見せる画像について

    テーブルの四隅にCSSで画像を配置してテーブルの角を丸く見せるデザインをされているサイトを良く見ますが あの四隅の画像はどのようなソフトを使って作られているのでしょうか? 有料・無料のソフトを含めて教えてください。 宜しくお願いします。

    • ベストアンサー
    • CSS
  • tableレイアウトについて。

    自分は HTML , CSSを勉強して、ホームページをつくっていたのですが、いざ、就職をしてみると、ホームページのソースが自分が今まで、勉強してきた HTML, CSSは使われておらず、tableレイアウトでつくったホームページを沢山、目にします。特に楽天やYahooなどECサイトなどで多くみられます。自分は HTML, CSSをつかって <div></div>でレイアウトをするのが正しいとおもいやってきたのですが、このさき、tableレイアウトで作るやり方も勉強するべきでしょうか?

    • ベストアンサー
    • HTML
  • 角のある四角いテーブルで囲みたい(ホームページ)

    Dreamweaver8を使用しています。 テーブルを利用して各項目別に区切って記述したいのですが、 これだと四角ばかりで硬いイメージになってしまいます。 下記サイトのような角が丸いテーブルを使用したいのですが、 どのようにすればよいのでしょうか? おそらくスタイルシートを使用しているのだと思いますが、 cssファイルを開いても、どこのぶぶんかわかりませんでした。 http://www.cashingpartner.com/ よろしくお願いします。

  • HTMLでテーブル内の背景画像固定方法は?

    HTMLでテーブルの背景に画像を指定することは可能ですが、その背景画像を繰り返さないように指定したり、位置を指定したりすることはできるのでしょうか。 CSSではなくHTMLで指定できるのかどうか、また出来るのであればそのサンプルを教えて頂けると助かります。

  • テーブルの角を画像を使わずに丸くさせたい

    1616BBSという掲示板のスタイルシートを弄っており、自分で解決出来ない問題が浮上しまして此の場をお借りして質問させていただきました。 テーブルの角を丸くさせる方法は画像を使ったものが主流だと思いますが、出来ればテーブルの角を丸くさせる方法を探しております。ご存知の方がいらっしゃれば、教えてくださると助かります。方法の回答じゃなく、こういう方法が載っているサイトを知っているという回答でも構いません。

  • 丸角テーブルが作りたい

    たびたびお世話になっていますm(__)m HP作成初級者です。 丸角テーブルを作りたいと思っています。 しかも、そのテーブルに背景画像も入れたいのですが可能でしょうか? やはり、丸角テーブルに背景画像を入れると角の部分が変になってしまうでしょうか? もし、可能であれば一番簡単な方法を教えていただきたいです。 よろしくお願いします。

  • tableの角の丸い装飾

    Tableの外枠に角丸の画像を使ったり、線状の行を使ったりして、角が丸い表を表示しています。 ここから角の丸い装飾 <TD>★★</TD> ここで角の丸い装飾の終わり ★★の部分に、なんなかの文章なり、小さいtableを入れて使っていますが、★★以外の部分を関数化して共用にして簡単に使う方法はないでしょうか。 ××★★×× #上記部分を極限まで短い文字にするテクニックを。

  • CSSのテーブルで色分けをする場合

    こんばんわ。 HTMLでテーブルタグを使用していたのですが、行数が多くカスタマイズするのが辛くなってきました。 そこで外部から読み込むタイプのCSSを作り始めました。 本題ですが、1つの表を作っています。 1行目と2行目では背景色やフォントなどを変更したいと思っています。 テーブルの背景色は#dadbefです。 table.movie {width: 550; background-color: #dadbef; } までは作ったんですが table.movie td {background-color: #888888; } これではうまくいかないですよね。。 TDをクラスごとに設定する、というのを思いついたんですが、ここで頭がパンクしてしまいました。。 それともCSSで表の列を色分けするのはやめたほうがいいでしょうか

専門家に質問してみよう