以下の内容はhttps://simadzu.hatenablog.com/entry/entry-descriptionより取得しました。


はてなブログでカテゴリーなどの記事の概要を省略する

はてなロゴ

はてなブログでは、記事を書くときに記事の概要が未入力だった場合、カテゴリーや月別アーカイブなどの記事の概要は、記事本文の冒頭から抜粋したものとなります。

その記事の概要が少し長かったので、JavaScript(jQuery)を使って指定文字数(100字)で省略(非表示に)してみました(三行におさめた)。

jQuery
<script>
document.addEventListener('DOMContentLoaded', function() {
if ($('.page-archive')[0]) {
    $('.entry-description').text(function() {
        var txt = $.trim($(this).text());
        var txt = txt.substr(0, 100);
        $(this).text(txt + '…');
    });
});
</script>

iwb.jp|jQueryでたった5行の記述で長いテキストを「…」で省略する
BLACKFLAG|jQueryで文字列を特定の文字数でカットして末尾に「…」などを追加する方法

ただし、この方法だと省略した部分が一瞬見えてしまう。CSSで記事概要全部をあらかじめ非表示にしておいて、JavaScriptで表示させることもできますがどうしたものか。
また、文字数で省略すると、全角と半角が混ざっている文章では文末が揃わない...。

そこで発想を変えて、JavaScriptにこだわらずにCSSでなんとかしてみることにしました。
CSSのコードは次のとおりです(デザイン→カスタマイズ→フッタに入力します)。
※ デザインCSS(デザイン→カスタマイズ→デザインCSS)に入力する場合は、<style>と</style>の記述は不要です。

CSS
<style>
.page-archive .archive-entries .entry-description {
    font-size: 16px;
    line-height: 1.8;
    height: 5.4em;
    overflow: hidden;
    text-align: justify;
    word-break: break-all;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
</style>

ポイントは、記事概要のテキストの高さを固定(height:5.4em)し、はみ出た部分を隠す(overflow:hidden)ということ。

また、テキストを両端揃え(text-align: justifyとword-break: break-all)に、末尾に「…」(三点リーダー)を表示(-webkit-line-clamp)しました。

JavaScriptに関するお知らせ|【CSS】文章を両端揃えしたらword-break:break-allも設定しよう
かけちまるblog|【CSSのみ】指定行数を超えたテキストを非表示にする方法
Lopan.jp|3行めの末尾を三点リーダーで端折る

デザインテーマにもよりますが、カード型表示ではなく記事概要も表示する一覧表示であれば、このカスタマイズが使えるかもしれません。




以上の内容はhttps://simadzu.hatenablog.com/entry/entry-descriptionより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14