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

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

詳細はこちら
HTML

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

CSS

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

Q&A

解決済

3回答

755閲覧

html pタグの中のaリンク以外を非表示にする

lyzmfeqpxs54

総合スコア237

HTML

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

CSS

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

0グッド

0クリップ

投稿2019/09/06 07:40

現在WordpressでWebページを作成しております。
投稿記事一覧ページが、現在下記コードのように書かれています。
pタグのなかに文章が書かれており、その下にはリンクであるread moreボタンがあります。

この状態で「ダミー文章」を消し、read moreボタンのみを表示したく、以下のように書いているのですが、うまく非表示になりません。
「.media-body > p 」だけでp要素全部を消すことはできる状態です。

適切な方法をご教示いただけますと幸いです。
よろしくお願いいたします。

html

1<div class="media-body"> 2<p> 3ダミー文章ダミー文章ダミー文章ダミー文章ダミー文章 4<a id="alpr" style="visibility:visible;border: none; text-decoration: none; letter-spacing: 1px;;" href="https://xxx/xxx/xx/xxxxxxxx/">More &gt;</a></p> 5</div>

php

1.media-body > p :not(#alpr) { 2 display: none; 3} 4

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

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

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

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

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

Lhankor_Mhy

2019/09/06 07:56

CSSでは無理じゃないでしょうか?
guest

回答3

0

この状態で「ダミー文章」を消し、read moreボタンのみを表示したく、以下のように書いているのですが、うまく非表示になりません。

今のCSSで、「タグ直下にあるテキストノード」だけを選択するような方法はありません。素直にやるなら「ダミー文章」部分を別なタグで囲んで、そちらにCSSを掛ける必要があります。

投稿2019/09/06 08:02

maisumakun

総合スコア145967

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

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

0

#alprの位置を詰めなくてよいなら、下記で対応可能です。

css

1.media-body > p:not(#alpr) { 2 visibility: hidden; 3}

ちなみに
p :not(#alpr)という書き方は間違いです。コロンの前にスペースは入れません。

もしダミー文章の位置に#alprを持っていきたいのだったら、positionを利用して表示位置を変更してください。

投稿2019/09/08 05:41

H40831

総合スコア975

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

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

0

ベストアンサー

強引ですが、テキストの場合であればfont-size: 0;などで対応するという手があります。
表示したい部分はfont-sizeを指定し直す必要があります。

https://jsfiddle.net/3kzwjga9/

CSS

1.media-body > p:not(#alpr) { 2 font-size: 0; 3} 4#alpr { 5 font-size: 14px; 6}

タグの編集ができるのであれば、maisumakunさんのおっしゃるように別のタグでダミー文章の部分を囲うのがよろしいかと思われます。

投稿2019/09/06 08:25

okne

総合スコア217

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

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

lyzmfeqpxs54

2019/09/08 06:29

ご回答ありがとうございます。 返信が遅くなり申し訳ありません。 ご教示いただいたように、「font-size: 0;」を使用してうまく表示するようにいたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問