🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

2回答

595閲覧

CSS borderについて教えてください。

tkm0604

総合スコア555

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2020/12/12 12:29

編集2020/12/13 02:15

下記画像のような「01」(img要素)を囲むようなborderを描画するにはcssをどのように書けばいいのかアイデアがありません。
アドバイスお願いします。

イメージ説明

HTML

1 <div class="tile_block"> 2 <img src="./assets/images/index/01_icon.png" alt="01"> 3 <p class="tile_title">レーザー飛蚊症治療</p> 4 <p class="tile_text"> 飛蚊症の原因になっている硝子体の混濁を手術をしないで、安全にレーザーで取り除くことが実現できるようになりました。</p> 5 <p><a href="aka.html" class="tile_block__link">詳細はこちら<i class="fas fa-chevron-right"></i></a></p> 6 </div>

css

1 .tile_block{ 2 border: 1px solid color:#9e8435; 3 } 4 .tile_title{ 5 font-size: 26px; 6 } 7 .tile_text{ 8 font-size: 16px; 9 10 } 11 .tile_block__link{ 12 display: block; 13 text-align: center; 14 color:#9e8435; 15 } 16 .fa-chevron-right{ 17 padding-left: 5px; 18 }

.tile_block要素をposition:relativeとしてimg要素をposition:absoluteteとして位置を調整し、z-indexでimg要素を前面に出してみたのでしが、見本のようには行きませんでした。

どのようにすれば添付画像のようにborderの中にimg(01)が入るのか教えてください。

すみません、追記です。
イメージ説明
上記画像のようにホーバージにはborderが数字に被ることなく背景色が変わるようにしないといけません。

下記画像は私のコードを表示したもで、「01」はjpg画像です。jpg画像だと数字のところがhover時には背景色が変わりません。
「02」はpngファイルです。pngだとborderが数字を突き抜けてします。

イメージ説明

HTML

1 <div class="col-xs-12 col-md-3 tile-wrap"> 2 <div class="tile_block"> 3 <img class="tile_block-img" src="./assets/images/index/01_icon.jpg" alt="01 レーザー飛蚊症治療"> 4 <p class="tile_title">レーザー飛蚊症治療</p> 5 <p class="tile_text"> 飛蚊症の原因になっている硝子体の混濁を手術をしないで、安全にレーザーで取り除くことが実現できるようになりました。</p> 6 <a href="aka.html" class="tile_block__link">詳細はこちら<i class="fas fa-chevron-right"></i></a> 7 </div> 8 </div> 9 <div class="col-xs-12 col-md-3 tile-wrap"> 10 <div class="tile_block"> 11 <img class="tile_block-img" src="./assets/images/index/02_icon.png" alt="02 眼球注射治療"> 12 <p class="tile_title">眼球注射治療</p> 13 <p class="tile_text">加齢黄斑変性症、網膜血管閉塞症や糖尿病網膜症に伴う黄斑浮腫など、今まで難治と考えられてきた病気の治療が、VEGF阻害剤の眼球内投与で可能になりました。</p> 14 <a href="aka.html" class="tile_block__link">詳細はこちら<i class="fas fa-chevron-right"></i></a> 15 </div> 16 </div>

CSS

1 .tile_block{ 2 padding: 0 2.6vw; 3 text-align: center; 4 border: 1px solid $color_primary; 5 cursor : pointer; 6 -webkit-transition: all 0.5s ease; 7 -moz-transition: all 0.5s ease; 8 -o-transition: all 0.5s ease; 9 transition: all 0.5s ease; 10 position: relative; 11 margin-bottom: 4.9vw; 12 } 13 .tile_block-img{ 14 margin-top: -100px; 15 } 16 .tile_block:hover{ 17 background-color: $color_secondary; 18 } 19 .tile_title{ 20 padding: 2.8vw 0; 21 @include fontsize(26); 22 } 23 .tile_text{ 24 margin-bottom: 6vw; 25 @include fontsize(16); 26 27 } 28 .tile_block__link{ 29 color:$color_primary; 30 display: block; 31 text-align: center; 32 position: absolute; 33 bottom: 37px; 34 left: 50%; 35 transform: translateX(-50%); 36 -webkit-transform: translateX(-50%); 37 -ms-transform: translateX(-50%); 38 } 39 .fa-chevron-right{ 40 padding-left: 5px; 41 }

なんども申し訳ありません。
下記画像のようにするにはどうすればいいでしょうか?

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

style

1<style> 2fieldset{border:solid 2px #9e8435;} 3legend{margin:auto;padding:0px 50px;} 4</style> 5<fieldset> 6<legend>01</legend> 7</fieldset> 8<form>

投稿2020/12/12 15:19

yambejp

総合スコア116683

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tkm0604

2020/12/13 02:18

すみません。質問内容に追記させていただきました。 もしよろしければ確認いただけますでしょか? 何度もすみません。
yambejp

2020/12/13 08:07

legendにimgファイルを指定すればいけませんか?
tkm0604

2020/12/14 04:20

ありがとうございます。非常にシンプルなコードで実現できたのですね。とても勉強になりました。
guest

0

ベストアンサー

画像をネガティブマージンで上に移動させればいいでしょう。

css

1.tile_block{ 2 border: 1px solid; 3 color:#000; 4 width: 300px; 5 margin-top: 50px; 6 padding: 30px; 7 text-align: center; 8} 9.tile_title{ 10 font-size: 26px; 11} 12.tile_text{ 13 font-size: 16px; 14} 15.tile_block__link{ 16 display: block; 17 text-align: center; 18 color:#9e8435; 19} 20.fa-chevron-right{ 21 padding-left: 5px; 22} 23.tile_block img { 24 margin-top: -100px; /* 画像サイズに応じて調整 */ 25}

CodePenサンプル

サンプル追記

ホバーしたときの背景色も考慮したサンプル。

画像は透過画像にします。

イメージ説明

上記の画像を利用したサンプル。
上罫線は疑似要素で表現してます。

CodePenサンプル

投稿2020/12/12 13:12

編集2020/12/13 03:37
hatena19

総合スコア34073

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tkm0604

2020/12/13 02:16

画像をネガティブマージンで上に移動でできたのですが、質問の追記にも書かせていただいたようにhover時のアクションがあり、その場合添付したサンプル画像のようになりません。 なんども申し訳ありません。 アイデアがありましたら是非教えてください。
hatena19

2020/12/13 02:43

画像を使うなら、下半分だけ背景色を付けた画像を別に用意してホバー時に切り替えるとか、 上罫線は疑似要素で表現するとかになると思います。 テキストを使うなら、yambejpさんの回答の fieldset を使う方法でいいでしょう。
hatena19

2020/12/13 03:16

透過画像を使ったサンプルを追加しました。ご参考に。
tkm0604

2020/12/14 04:20

ご丁寧にありがとうございました。擬似要素を使ったやりかた、fieldsetを使ったやり方どれも全く思い浮かぶ方法ではなかったので非常に助かりました。 おかげさまで無事に制作できました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問