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

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

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

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

CSS

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

Q&A

解決済

2回答

6113閲覧

::after擬似要素の位置指定について

Qoo

総合スコア1249

HTML

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

CSS

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

0グッド

0クリップ

投稿2021/01/07 05:43

htmlでアコーディオンを作成しております
クリックの文字の前と後ろ(後ろは文字の後ろではなく、横幅の右揃え)にしたいです

::afterで指定する際、

right: 0px;にしても
right: 100px;にしても
right: -100px;にしても変化しません

右位置はどのように指定すれば良いのでしょうか。

html

1<label class="acd-label" for="acd-check1">クリック</label>

css

1 2 .acd-label{ 3 background: #333; 4 color: #fff; 5 display: block; 6 margin-bottom: 1px; 7 padding: 10px; 8 } 9 .acd-label::before { 10 color: white; 11 box-sizing: border-box; 12 height: 52px; 13 padding: 10px 20px; 14 right: 0; 15 top: 0px; 16 color: white; 17 content: "+"; 18 } 19 .acd-label::after { 20 color: white; 21 box-sizing: border-box; 22 height: 52px; 23 right: 0px; 24 top: 0px; 25 color: white; 26 content: "+"; 27 } 28

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

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

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

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

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

guest

回答2

0

right とかtop で位置指定するには、親要素(.acd-label)に position: relative; 疑似要素にposition: absolute;を設定する必要があります。他にもちょうどいい位置に配置するには余白調節が必要です。

クリックの文字の前と後ろ(後ろは文字の後ろではなく、横幅の右揃え)にしたいです

ということなら、position: absolute;で位置決めするより、Flexboxを使った方が簡単だし自由度も高いです。

コード例

css

1.acd-label{ 2 background: #333; 3 color: #fff; 4 display: flex; /* */ 5 margin-bottom: 1px; 6 padding: 10px; 7} 8.acd-label::before { 9 color: white; 10 box-sizing: border-box; 11 color: white; 12 content: "+"; 13} 14.acd-label::after { 15 color: white; 16 box-sizing: border-box; 17 color: white; 18 content: "+"; 19 margin-left: auto; /* 右寄せ */ 20}

投稿2021/01/07 06:04

hatena19

総合スコア33782

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

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

0

ベストアンサー

こんにちは。

rightpositionを指定しないと意味がないです。
(もちろんleftも)

position が static に設定されている場合、 right プロパティは効果がありません。

right - CSS: カスケーディングスタイルシート | MDN


float: rightとするのが、もっともお手軽な方法だと思います。

投稿2021/01/07 05:59

Lhankor_Mhy

総合スコア36138

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

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

Qoo

2021/01/07 06:02

できました!ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問