After疑似要素を使用して、サイトにいくつかの効果を追加しようとしています。
<div class="product-show style-show">
<ul>
<li>
....
<div class="...">
<div class="readMore less">...</div>
<a href="3" class="readMoreLink" onclick="return false;">Read More</a>
</div>
....
</li>
</ul>
</div>
そしてスタイルシート:
.product-show .readMore.less {
max-height: 200px;
height: 100%;
overflow: hidden;
}
.product-show .readMore.less:after {
background: rgba(255, 255, 255, 0);
display: block;
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 30px;
}
.product-show .readMore.lessのスタイルが適用されているのがわかりますが、Chrome(Chrome $ ===(Chrome $ ===(Chrome $ ===(最新バージョン)/ MacOS。古いブラウザで問題が発生することがあると読みましたが、スタイルを正しく定義していれば、少なくとも:: after疑似要素表記が表示されるはずだと思いました。何が問題なのですか。
これは、疑似要素 content
値が省略されている場合は生成されない (初期/デフォルト値がnone
であるため)であるためです。
疑似要素を生成するには、content
値を指定します。 ''
の値で十分です。
.product-show .readMore.less:after {
content: '';
background: rgba(255, 255, 255, 0);
display: block;
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 30px;
}
MDNによると:
Content CSSプロパティは、:: beforeおよび:: after疑似要素とともに使用され、要素にコンテンツを生成します。
これは、content
プロパティを含めないと、:after
または:before
要素がまったく表示されないことを意味します。
次の行をコードに追加します。
content: ""; // Leave this empty
そして、それが結果にどのように影響するかを見てください。
注として、通常、:before
または:after
要素を使用してテキストを表示する場合は、content
プロパティにテキストを追加します。ただし、多くの場合、単に空のままにしていることに気付くでしょう。