ホームページ  >  記事  >  WeChat アプレット  >  アプレットのテキストがオーバーフローした場合、省略記号として表示するにはどうすればよいですか?

アプレットのテキストがオーバーフローした場合、省略記号として表示するにはどうすればよいですか?

Guanhui
Guanhui転載
2020-06-16 17:09:543054ブラウズ

アプレットのテキストがオーバーフローした場合、省略記号として表示するにはどうすればよいですか?

この記事では、Baidu スマート アプレット開発であふれたテキストを省略記号として表示する方法を紹介します。

現在のモバイル端末で開発されている表示インターフェースでは、テキストの量が長すぎると、画面の幅や高さなどの影響で完全に表示されない場合があります。ユーザー エクスペリエンスを向上させるために、今回はオーバーフロー テキストを省略記号として表示する必要があります。

次に、次のテキスト コンテンツに対して行テキスト オーバーフロー スタイルを実装する方法を見てみましょう。

  1. 単一行テキスト オーバーフロー
  2. 複数行テキスト オーバーフロー:5行以下はすべて表示、5行以上(5行含む)は5行のみ表示、超過部分は省略記号で表示、5行以上は展開ボタンが表示されます。クリックして展開すると、すべてのコンテンツと折りたたみボタンが表示されます。クリックして折りたたむと、コンテンツが折りたたまれ、展開ボタンが表示されます。

長い竹林、広大な緑、都会の喧騒とは無縁の、なんとも静かで静かな自然。雨がゆっくりと降ると、緑の枝葉に軽い煙が立ち上り、まるで霧か雲のようで、むしろ水墨画のようで、香りと香りに満ちていて、誰の夢なのかわかりません。さらに酔いしれるのは、散らばり、音となり、歌となる美しい雨の音。この時、雨は細く、竹は弦を張り、風は流れ、心はささやきます、雨の音を聞く人は誰でも心の友です。

単一行テキスト オーバーフロー

1. js ファイルに、テキスト コンテンツを入力します:

Page({
	    data: {
	        content:'人要拿得起,也要放得下。拿得起是生存,放得下是生活;拿得起是能力,放得下是智慧。有的人拿不起,也就无所谓放下;有的人拿得起,却放不下。拿不起,就会一事无成;放不下,就会疲惫不堪。人生外在的一切最终丝毫也带不走,晚放下不如早放下。放下无谓的负担,才能一路自在。'
	    }
	});

2. で # を使用します。 css ファイル ##text-overflow: ellipsis行末に表示される末尾の省略記号を設定します:

   white-space: nowrap; /* 不换行 */
    overflow: hidden; /* 超出隐藏 */
    text-overflow: ellipsis; /* 超出部分显示省略号 */

アプレットのテキストがオーバーフローした場合、省略記号として表示するにはどうすればよいですか?

複数行のテキスト オーバーフロー

# 行 5

1 の下のすべてのコンテンツを表示します。js ファイルに、テキスト コンテンツ:

	Page({
	    data: {
	        content:'人要拿得起,也要放得下。拿得起是生存,放得下是生活;拿得起是能力,放得下是智慧。有的人拿不起,也就无所谓放下;有的人拿得起,却放不下。拿不起,就会一事无成;放不下,就会疲惫不堪。人生外在的一切最终丝毫也带不走,晚放下不如早放下。放下无谓的负担,才能一路自在。'
	    }
	});
2 を入力します。

CSS ファイルのテキスト オーバーフロー: ellipsis 末尾の省略記号と複数行のテキスト オーバーフローを表示するように行末を設定します:

	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 5; /* 指定显示文本的行数 */
	overflow: hidden; /* 超出隐藏 */
アプレットのテキストがオーバーフローした場合、省略記号として表示するにはどうすればよいですか?

5行以上(5行含む)の場合は5行のみ表示し、超過部分は省略記号で表示されます

1. jsファイルに次のように入力します。テキストの内容:

Page({
	    data: {
	        content:'人要拿得起,也要放得下。拿得起是生存,放得下是生活;拿得起是能力,放得下是智慧。有的人拿不起,也就无所谓放下;有的人拿得起,却放不下。拿不起,就会一事无成;放不下,就会疲惫不堪。人生外在的一切最终丝毫也带不走,晚放下不如早放下。放下无谓的负担,才能一路自在。'
	    }
	});

2. CSS ファイルで

text-overflow: ellipsis を使用します。 末尾の省略記号を表示するように行末を設定し、複数行のテキスト オーバーフローを設定します:

display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 5; /* 指定显示文本的行数 */
	overflow: hidden; /* 超出隐藏 */
	text-overflow: ellipsis; /* 超出部分显示省略号 */

アプレットのテキストがオーバーフローした場合、省略記号として表示するにはどうすればよいですか?

5 行以上の後に展開ボタンを表示します

クリックして展開すると内容全体が表示され、折りたたむボタン。クリックするとコンテンツが折りたたまれ、展開ボタンが表示されます。詳細については、ツールにコード スニペットをインポートして表示できます: swanide://fragment/598981d541fda485a1715266effc213a1590053197948。

1. swan ファイルにテキストの内容を入力し、ボタンを設定します:

<view class="container">
	<view class="title">
		<text class="title_txt">hello,我是测试demo</text>
	</view>
	<view class="content {{isShow ? &#39;on&#39; : &#39;&#39;}}">
		悠悠竹林,万顷翠色,几多清幽和宁静,自然没有城市的喧嚣和杂乱。若有雨徐徐飘落,在绿绿的枝叶上腾起袅袅轻烟,如雾,如云,更似一幅水墨丹青,流芳沁馨,不知泊了谁的梦怀。更醉人的是那动听的雨声,疏疏落落,潇然成音成曲。此时,雨为纤指竹为弦,清风流韵,细弹心语,听雨的人,便是知音。
	</view>
	<block s-if="{{lineNum > 4}}">
		<view class="btn" bindtap="open">{{isShow ? &#39;收起&#39; : &#39;展开&#39;}}</view>
	</block>
</view>

2. CSS ファイルのテキスト表示行数を設定します:

.title {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 25rpx;
}

.title_txt {
    font-size: 34rpx;
    color: #2b2b2b;}

.content {
    text-indent: 2em;
    height: auto;
    overflow: hidden; /* 超出隐藏 */
    text-overflow: ellipsis; /* 超出部分显示省略号 */
    display: -webkit-box;
    -webkit-line-clamp: 5; /* 指定显示文本的行数 */
    -webkit-box-orient: vertical;
    line-height: 30px; /* 规定的行高 */
    padding: 0 25rpx;
    font-size: 30rpx;
    color: #888;}

.content.on {
    display: block;
    text-overflow: clip;
    overflow: visible;
}

.btn {
    text-align: center;
    color: #333;}

3 js の場合 ファイルにデフォルトの折りたたまれた状態を設定します:

/**
 * 默认收起状态,isShow作为控制显隐的开关
 * 点击按钮isShow的状态值取反即可。
 * 获取行数的计算方式:
 * 行数 = 内容高度/ 行高
 */
Page({
    data: {
        isShow: false,
        lineNum: 5
    },    open() {
        this.setData({
            isShow: !this.data.isShow
        });
    },    onShow() {
        const query = swan.createSelectorQuery();
        query.select(&#39;.content&#39;).boundingClientRect();
        query.exec(res => {
            const LineHeight = 30; // 行高
            const LineNum = res[0].height / LineHeight; // 行数            if (LineNum < 5) {
                this.setData({
                    lineNum: LineNum
                });
            }
        });
    }
});

アプレットのテキストがオーバーフローした場合、省略記号として表示するにはどうすればよいですか?

おすすめ記事: "

PHP" "小プログラム開発

以上がアプレットのテキストがオーバーフローした場合、省略記号として表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はjuejin.imで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。