質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.35%
HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

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

Q&A

解決済

3回答

813閲覧

文脈と関係のないアイコンをCSSで実装する方法について

nomura02

総合スコア133

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

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

0グッド

0クリップ

投稿2020/08/10 03:03

前提・実現したいこと

文脈と関係ない、アイコン
たとえば、(´∀`*)がアイコン画像だとして

(´∀`*)文脈(´∀`*)

こういったものを、htmlで実装するのは好ましくないということを知りました。

html

1 <div class="let"> 2 <img src="img/nikoniko.jpg"> 3  <p>文脈</p> 4  <img src="img/nikoniko.jpg"> 5</div>

これを、CSSだけで実装するヒントが欲しいです。

初心者な質問で申し訳ありません。
よろしくお願いします。

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

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

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

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

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

guest

回答3

0

ベストアンサー

疑似要素を使って前後に画像を配置するなら、下記でいいかと。

css

1.let { 2 margin-bottom: 50px; 3 & p{ 4 display: flex; 5 align-items: center; 6 &::before { 7 content: url(https://placehold.jp/100x40.png); 8 margin-right: 10px; 9 } 10 &::after { 11 content: url(https://placehold.jp/100x40.png); 12 margin-left: 10px; 13 } 14 } 15}

投稿2020/08/10 06:11

hatena19

総合スコア34084

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

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

nomura02

2020/08/10 06:49

こちらの方が、すくないコードで思い通りの表現が出来ました!! 意外とシンプルですね… いつもありがとうございます!!!たすかりました!!
guest

0

疑似要素のbeforeとafterを使えば可能です。
擬似要素 before afterで検索したら方法が解説されたサイトがヒットします。

投稿2020/08/10 03:18

Jon_do

総合スコア1373

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

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

nomura02

2020/08/10 03:45

ああ、擬似要素ですね!! .let{ margin-bottom: 50px; & p:before { content: ''; display: inline-block; background-image: url(img/nikoniko.png) no-repeat 50% 50% ; /*アイコン画像*/ /* その他の設定でスタイル調整 */ } & p:after { content: ''; display: inline-block; background-image: url(img/nikoniko.png) no-repeat 50% 50% ; /*アイコン画像*/ /* その他の設定でスタイル調整 */ } やってみたのですが・・・今度は、画像が消滅してしまいました。 どうしてだ・・・泣 エラーも出ていなくて・・・ すみませんよろしければご指摘頂けますと幸いです。 よろしくお願いします。
Jon_do

2020/08/10 04:01

pにposition: relative; :beforeと:after にそれぞれに 任意のwidth、height position:absoluteをつけて top:0 left:0; (right:0) で任意の場所に位置調整する。 みたいな感じだと思います。
nomura02

2020/08/10 06:04

出来ました!!ありがとうございます!!!
guest

0

htmlで実装するのは好ましくないということを知りました。

これがどういうことかよくわかりませんが、
下記が一番さっくり実装できます。

css

1.let { 2 display: flex; 3}

上記の好ましくないというのが、HTMLの文法上の問題でしたら、
その認識は古く、(〜HTML4)
HTML5では、imgは文脈に関係ない配置の場合、装飾の意味合いを持たせることができるため、特に問題ありません。

投稿2020/08/10 03:17

編集2020/08/10 03:24
miyabi_takatsuk

総合スコア9555

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

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

nomura02

2020/08/10 03:46

そうなんですか、ちょっと今回は、 正論言わない方がいいパターンのような気がするので、擬似要素で実装してみます!! ありがとうございます!!
miyabi_takatsuk

2020/08/10 05:59

> 正論言わない方がいいパターンのような気がするので どういう意味ですか??
nomura02

2020/08/10 06:07

私へ指示を出した方が、htmlでimgを用いることは良くないという認識がありまして…!(私のほうが立場が弱い) 「HTML5では、imgは文脈に関係ない配置の場合、装飾の意味合いを持たせることができるという情報も入手しましたっす!」と言ってみます!!
miyabi_takatsuk

2020/08/10 06:22

そういう状況は、明記しないと、第三者が知り得ることではないので、 主語がないと勘違いされるかと思いますよ。 私に対して正論言わないでほしいと言っているようにもとることができてしまうので。 まぁ、そういう状況なら、無理せず、擬似要素でいいのでは?
nomura02

2020/08/10 06:43

すみません!!失礼いたしました!! ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問