cssで角丸テーブルにトライしています。(参考にしたサイトhttp://jmblog.jp/archives/94)
これをアレンジして、左上の画像(タイトル部分にする)のみを枠によって変えたいと思っています。<span class="taiken"></span>のクラス名を変えることで画像を変えられると良いのですが、
でもどうしても上手く行きません。どうぞどなたかお助け下さい。
********HTML*********
<div class="dialog">
<div class="header"><span class="taiken"></span>
<div class="c"></div>
</div>
<div class="body">
<div class="c">テストテスト</div>
</div>
<div class="footer">
<div class="c"></div>
</div>
</div>
******** CSS ********
.dialog {
width:698px;
}
.dialog .header .c,
.dialog .footer .c{
font-size:1px; /* ensure minimum height */
height:20px;
}
.dialog .header span.taiken{
background-color: transparent;
background-image: url(../pic/head_r1_c1.gif);
background-repeat: no-repeat;
background-position: 0px 0px;
height: 37px;
}
.dialog .header .c{
background-color: transparent;
background-image: url(../pic/head_r1_c2.gif);
background-repeat: no-repeat;
background-position: right 0px;
height: 37px;
}
.dialog .body{
background-color: transparent;
background-image: url(../pic/body_r2_c1.gif);
background-repeat: repeat-y;
background-position: 0px 0px;
}
.dialog .body .c{
background-color: transparent;
background-image: url(../pic/body_r2_c2.gif);
background-repeat: repeat-y;
background-position: right 0px;
}
.dialog .footer{
background-color: transparent;
background-image: url(../pic/footer_r3_c1.gif);
background-repeat: no-repeat;
background-position: 0px 0px;
}
.dialog .footer .c{
background-color: transparent;
background-image: url(../pic/footer_r3_c2.gif);
background-repeat: no-repeat;
background-position: right 0px;
}
宜しくお願いいたします。
No.5ベストアンサー
- 回答日時:
No.1です。
タイトル部分はgoldfoxさんの方法がよいと思います。
divと違い、h1やpタグは、ブラウザが適宜marginとpaddingを設定していますので、下記のようなスタイルを追加して0に定義しなおす必要があります。これでh1が表示されると思います。
*{
margin:0;
padding:0;
}
<div class="dialog">
<div class="header taiken">
<h1 class="c"><img src="" alt="title"></h1>
</div>
もし、背景画像とタイトル画像の縦横サイズが違う場合は位置を調整する必要がありますので、その場合は、下記のスタイルを追加すれば、
タイトル画像の上と左の余白を調整できます。
div.taiken h1{
margin-left:0px;
margin-top:0px;
}
margin-leftがタイトル画像の左側の余白
margin-topがタイトル画像の上側の余白
各0pxのところを変更します。
即興で書いたため、ブラウザ確認してません。
間違っていたらすみません。CSSは慣れるまで大変なので、
いろいろ試してがんばってみてください。
出来ました~!!
お手数なのにかみ砕いた説明をしていただき本当にありがとうございます。調整する部分もよく分かりました。
「h1やpタグは、ブラウザが適宜marginとpaddingを設定していますので、下記のようなスタイルを追加して0に定義しなおす必要があります。」なるほどです。
勉強不足ですみません。本当にありがとうございます。
No.11
- 回答日時:
yuzumayu 様
いいねぇ。90点、合格ってところかな。heightいらない。あと、好みだけど、classもdiv{ }でOK。最初はclass付けないで使いまわす練習した方が上達早いよ。本当はほっとくつもりだったんだけど、なんか、採点しろオーラを感じてしまいました。
今回わかったと思うけど、世の中には間違った記述や、管理人自身もわかっていないのに、html講座やcssのハウツーやってる所がいっぱいあります。もう、見分けはつくよね?そういうところはアイデアだけ見習い改良して使いましょう。
唯一正しいのは仕様書で、和訳もでています。正しいことを知りたい時は、仕様書を確認すること。が、正しいのを100%表現するブラウザは今のところでていません。一番普及しているには正しくない率がもっとも高いブラウザです。ので、あまり正しさにこだわってもいられないのですが現実です。だから、ますます、パズルっぽくなります。
インラインとブロックは違うらしいけど、なんかよくわからないと思います。でも、かなり性格が全然違うのでちょっとあそんでみてね。1つづつ、試してみてね。なんとなくでもわかれば今はいいです。
htmlの準備
小さなテーブルを10こ(コピペでいいから、2×2段程度<table>~</table><table>~</table>……)用意して並べてください。P要素にそこそこの文章を用意してください。pの中にリンクも少し入れてください。
css側で
1.p要素を罫線で囲む
2.それをbottomだけにする
3.p要素をインラインに変えてみる。(display:inline;)
4.tableをインラインに変えてみる。
5.リンクをブロック要素に変えてみる。(display:block;)
さぁ、難題
6.問題imgはどっちだと思う?(調べる前に考えてみてね)
最後に、数々の失礼をお許しください。では、css楽しんで征服?してください。ごきげんよう。
ありがとうございます!!
うれしいです!
すっごく「採点してください」オーラ出してました!
そして、おっしゃる通り本当にこの短期間で色々な説明サイトの「ちょっとこれは違うかも」感が分かるようになった気がします。
新たな課題までありがとうございます。
いま、まだ分かっていません。でも、もう少し(調べず)考えます。
何とか克服したいです。
No.10
- 回答日時:
厳密に書こうと思えばDrFellさんの書き方が正しいので、
スタイルに興味をもたれたら、ぜひこれから書き方にもこだわってみてください。
まだまだ、スタイルシートの世界は、CSSには精通していても、CSS2の仕様で十分デザイン的にも完成していると言い切れるようなデザイン音痴なスタイルマスターさんばかりなので、クライアントを納得させられるような微妙なデザインの違いまで理解できて、なおかつCSSにも精通しているという人が、全般的に不足しています。そのため、デザインから入って、CSSに興味を持たれるとチャンスが多くありそうです。
CSS2は(ブラウザの実装の問題を除いても)デザインにこだわるにはまだまだ不備の多い仕様ですが、CSS3に期待しつつ、デザインにもこだわれるスタイルマスターがじゃんじゃん増えるといいと思います。
>pはインライン要素。
書き間違いだと思いますが、Pはブロック要素?
おそらく、私へのトラップです。
今回は私も気がつきました(Nine-nineさんオススメのサイトを読んで)
pはブロック要素!ですよね?DrFellさん!
なんだか、高校の時の間違い探しテスト問題をしているようです(笑)
私のわかりにくーいcssの修正をお助け頂き本当にありがとうございます。
一つを表現するにも本当に色々なやり方があるものという事が分かったのも今回の勉強です。
皆さんのように本当に無駄のない正しいコードを作れるようになれたら・・かっこいいです。
道は長いですが、がんばります。
No.9
- 回答日時:
cssとhtmlはセットのものなので、htmlの事もわかっていないと思って、真っ白な気持ちで見てください。
http://www.kanzaki.com/docs/html/lesson1.html
続いて
http://www.kanzaki.com/docs/html/htminfo17.html
でワンセットです。ここが一番お奨めですが、ちょっと固い感じでとっつきは悪いです。でも、簡単で正確です。興味があれば、その上の、http://www.kanzaki.com/docs/htminfo.htmlアタリをおさえれば理念はばっちり学べます。
他にもいろいろお奨めサイトはあるのですが、ごく一部間違っていたりになり、安心してお奨めとなると上のサイトですね。例えば今回の解答者の方にも一部間違っていたりと、わざと?の方も居られる様ですがね。
理想と現実はちょっと違います。他の方もおっしゃってますが、初期値の違いとプログラムミス、過去のブラウザにどうあわせるかなど、落とし穴はいっぱいあります。はまりやすいのはブロック・インラインの違いとブロック要素の大きさの解釈、フロートの解除かな。
まぁ、基本はおさえて現実とおりあってだましだましってかんじですね。
がんばってください。
ご丁寧なご回答ありがとうございます。
いま、順番に理解に務めています。
まだ、全部は読めていませんが、私は確かに見栄えをつくることに振り回されて「なんのために」が完全に抜け落ちていたのが確認出来ました。
基本を押さえれば自然と無駄なコードが無くなるのが少し分かりました。
目の前の山は大きいですが、お助けいただきながらもこの攻略できる感がいいですね!楽しいです。
まずはおっしゃっていただいた内容の理解にがんばります!!
No.8
- 回答日時:
残念ですが違います。
<div><h1>記事のタイトル</h1><p>記事の中身</p></div>
htmlは上だけです。
ヒントはdivにしかbackgroundはつかないものではない。
h1はブロック要素。
pはインライン要素。
h1は見出しを表すタグ
pは段落を表すタグ。
divは見出しなど構造的意味のないブロック要素にしかたなくつけるタグ。
spanは段落などの構造的意味のないインライン要素にしかたなくつけるタグ。
つまり、divに付けられるプロパティはh1にも付けられる。無駄にdivを付ける必要はない。無駄にclassを付ける必要もない。
私なら、上のhtmlでh1に元ヘッダー部分の画像を、divの下に元フッター部分の画像を、あて、中間部分は同じ色のカラーコードに。
出来ました~!!
今度こそあってます???あってます??
<div class="taiken">
<h1>記事のタイトル</h1>
<p>記事の中身</p> <p>記事の中身</p> <p>記事の中身</p>
</div>
h1 {
background-image: url(../pic/maru-top.gif);
background-repeat: no-repeat;
height: 37px;
}
.taiken{
background-image: url(../pic/maru-foot.gif);
background-repeat: no-repeat;
height: 20px;
background-position: left bottom;
width: 698px;
background-color: #FFFFCC;
}
No.7
- 回答日時:
私もDrFellさんのようにすると思います。
リキッド幅なら違いますがね。勉強の仕方間違っていますよ。cssを勉強してタイトルにh1やh2をなぜつけるのか?って聞く人はcssの記述だけどこかからコピペすることを勉強していると言い張る人です。
cssにとって、角丸は飾りでしかありません。h1やdivにつく飾りです。cssにとって重要なのは、文章が構造化されていることです。まず、構造と見た目の分離に触れている入門者用のサイトを一かじりされると、目がさめるのでは?
勉強の仕方間違っていますよね。
どのように手を着けて良いのか分からず、実際困っています。
本やサイトで自分のしたいことに近いものを見つけて猿まねのようにつくって、そこから一生懸命意味を解析している状態です。
もし、よければ「構造と見た目の分離に触れている入門者用サイト」でオススメのものがございましたら教えていただければ幸いです。
No.6
- 回答日時:
本気なら、基本を学びましょう。
私なら、見本のサイトのような見た目にどうしてもしたいなら<div><h1></h1><p></p></div>
にしますね。あんなややこしいことすげーって感じ。
ちなみに、見出しの大きさが決まっているなら<h1></h1>だけで済ませます。
出来ました!すごい!簡単ですね。
色々調べておっしゃっている意味が今やっと分かりました。
角丸のタイトル部分を枠ごとに変えて全体を角丸線で囲みたいので
<div class="top"><h1>記事のタイトル</h1></div>
<div class="middle"><p>記事の中身</p></div>
<div class="bottom"><p></p></div>
.top{
width:698px;
background-image: url(../pic/maru-top.gif);
background-repeat: no-repeat;
background-position: bottom;
height: 37px;
}
.middle{
width:698px;
background-image: url(../pic/maru-body.gif);
background-position: center;
}
.bottom{
width:698px;
background-image: url(../pic/maru-foot.gif);
background-repeat: no-repeat;
background-position: top;
height: 20px;
}
というようなことですよね??おっしゃっているものとあっていますでしょうか?
No.3
- 回答日時:
難しく考える理由は何ですか?
現状(.header)の画像を変えたいだけなら、
.dialog .header{
background:transparent url(rc_r1_c1.gif) no-repeat 0px 0px;
}
このrc_r1_c1.gifを別の画像にすればいいだけですよ。
この上に別の画像を「重ねたい」(例えばタイトル画像を載せたい)なら
<div class="c"><img src="" alt="title"></div>
と、<div class="c"></div>の中に書く必要があります。
文法的には
<h1 class="c"><img src="" alt="title"></h1>
のほうがいいかもしれません。(余白などはスタイルシートで調節)
ありがとうございます!
いくつもの角丸を1ページに載せたくて
私もheader_1,header_2といったように画像を変更したdivを増やそうかと思ったんですが、
そうすると
.dialog .header .c{
background-color: transparent;
background-image: url(../pic/head_r1_c2.gif);
background-repeat: no-repeat;
background-position: right 0px;
height: 37px;
}
などもheader_1,header_2の数だけ増やさないといけなくなるのかなと思い、考えが難しい方に方向に進んでおりました。
教えていただいた<div class="c"><img src="" alt="title"></div>という方法は全く思いつきませんでした。
これだとaltもつけられるし最高です。
ただ、やってみたところ<div class="c"><img src="" alt="title"></div>は
若干画像がずれるものの、タイトルにしたい画像は出ますが
<h1 class="c"><img src="" alt="title"></h1>
の場合は希望の画像が表示しないのです。
おそらくcss側の調整が出来てないからだと思うのですが・・どこをさわったら良いのか分かりません。
css側の調整を教えていただけますでしょうか?お手数お掛けして申し訳ありません。
またh1にするのはなぜですか?勉強不足で大変申し訳ありませんが、お教えいただければ幸いです。
No.2
- 回答日時:
質問の意味がよくわからないのですが、固定幅でしたら、コーナー罫は画像2つでできないですか?無駄にdiv付けすぎなのでは?cssは物理レイアウトの翻訳ではうまくいきませんよ。
これをアレンジして、左上の画像(タイトル部分にする)のみを枠によって変えたいと思っています。<span class="taiken"></span>のクラス名を変えることで画像を変えられると良いのですが、
ここの意味がわからないのですが、タイトルなら、hnに画像をいれればすむ話では?spanって、構造的意味のないインライン要素ですから、画像にはふさわしくない気がします。インライン要素、アウトライン要素のこと理解されているのでしょうか?
すみません。今回初めて角丸をつくってみるのに参考にしたサイトがこの方法で、私にはわかりやすかったのでその方法でアレンジしようとしておりました。
<span class="taiken"></span>にしたのは、<div class="header">をさら細分化する方法がわからず、これ以上divを増やすのもどうかと思い、いろいろサイトを見てspanが使えるのかしらと思ったからです。
勉強不足で申し訳ありません。hn要素、インライン要素、アウトライン要素については本当に理解不足です。これからしっかり勉強させていただきます。貴重なアドバイスありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript vertical sliderをautoplayしたい 2 2022/08/25 14:47
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- HTML・CSS img と p を縦中央に配置したいのですがうまくいきません。 2 2023/01/12 14:38
- HTML・CSS スクロールすると追従する画像のコードを書いているのですが、追従する画像の大きさの調節が上手くいきませ 2 2022/04/18 12:52
- HTML・CSS cssが効かなくて困ってます 1 2023/01/01 23:57
- HTML・CSS html/cssで要素が出てこなくて困ってます 1 2022/12/31 16:59
- HTML・CSS PCサイズで赤い画像2つと、青い画像2つがそれぞれ横に2つずつ並んでいるのですが、これをスマホサイズ 5 2022/04/11 12:01
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・ハマっている「お菓子」を教えて!
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
要素間、要素内に隙間が空く
-
htmlのolやulなどlistにtitleや...
-
html の divとtable の役割
-
div要素が重なってします
-
WEB系の仕事を目指す場合D...
-
スペースを使わず文字位置を揃...
-
ブートストラップを使ったサイ...
-
セクションをdivで囲むと見出し...
-
3カラムレイアウトで「常に残り...
-
メニュー作成 ソフトか手打ち
-
<!-- #BeginLibraryItemとは
-
携帯サイト、ナノでのタグ編集...
-
複数のボタンを等間隔に、かつ...
-
inline-blockをネストすると表...
-
HTML属性での「""」 「''」違い
-
WEBデザイナーはDWを使う?
-
マージソートの計算量について-...
-
htmlの文字が縦書きになる
-
レスポンシブWebデザインでリン...
-
リストマーカーをボックス内に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlのolやulなどlistにtitleや...
-
HTML属性での「""」 「''」違い
-
html の divとtable の役割
-
複数のボタンを等間隔に、かつ...
-
<div id="container">の使いか...
-
div要素が重なってします
-
1時間30分を簡単に表したいで...
-
min-heightとheightの違いについて
-
ヘッダーを左右に二分割する方...
-
スペースを使わず文字位置を揃...
-
ヘッダーとフッターだけ背景を...
-
divとpの使いわけ
-
hタグの右横に画像を表示
-
html5でheaderの中にnav
-
h1に自分自身へのリンクを張...
-
3カラムレイアウトで「常に残り...
-
h1のテキストサイズよりh2の方...
-
divの中に外部のHTMLを埋め込む
-
CSSで、contentsがfooterに重な...
-
グリッドレイアウトで"auto-fit...
おすすめ情報