2

作業する必要のあるコードは次のようになります。

    <p>
    <a href="http://foo.com/foo.html"></a>
    <a href="http://creativecommons.org/publicdomain/mark/1.0/" rel="license">
    <img alt="Public Domain Mark" src="http://i.creativecommons.org/p/mark/1.0/88x31.png" style=""></a>
    <br> This work is free of known copyright restrictions... 
    </p>

画像が表示され、画像の後にテキストが表示されます。どちらも表示する必要はありません。

これは、画像を取り除くためにうまく機能します:

a[rel="license"] {display:none;}

<br>ただし、 (および可能であればその閉じられていないタグ)の後のテキストを削除する方法が必要であり、終了</p>タグを失うことはできません。

リモートサイトからHTMLを取得していますが、そこでのマークアップを制御できません。

よろしくお願いします!

4

2 に答える 2

2

CSSを使用してこのテキストを非表示にする方法はありません。タグを追加せずに、サイトを取得する方法によっては、 ;"This work is free of known copyright restrictions..."で囲まれた同じテキストを見つけて置き換えることをお勧めします。<span></span>または単にそれを完全に削除します。

于 2012-11-29T01:32:51.857 に答える
0

これは古い質問だと思いますが、面白いと思いました。<p>タグのボックスモデルをいじって、まだそこにあるのに「取り除きたい」ものを隠すのはうまくいかないのではないかと思います。

たとえば、画像を表示したいが、それに続く非要素テキストは表示したくないとします。(画像も削除したいのですが、デモンストレーションの目的で、中に目に見えるコンテンツがある<p>と便利です。)画像の高さが31ピクセルであることがわかっているので、次のようにします。

p {
    height: 31px;
    overflow: hidden;
}

Etvoilà。それがあなたの特定のニーズにうまくいくかどうかにかかわらず、私たちは決定するのに十分なコンテキストを持っていないように感じます。あなたが求めているのは、目に見えないリンクを含む空の段落を残すことです。これには、より大きなコンテキストがないため、明確な目的はありません。

ただし、考えてみると…画像も非表示にしたい場合は、上記のスタイルを少し変更して、次のように追加します。

a[rel="license"] { visibility: hidden; }

( CSSボックスdisplay: noneのサイズに影響するため、は使用しないでください。)<p>

これは確かにスクリーンリーダーなどに不幸な影響を及ぼしますが、特定の迅速で汚れたディスプレイのニーズにはそれで十分な場合があります。

于 2014-03-22T15:05:56.990 に答える