この記事では、Baidu スマート アプレット開発であふれたテキストを省略記号として表示する方法を紹介します。
現在のモバイル端末で開発されている表示インターフェースでは、テキストの量が長すぎると、画面の幅や高さなどの影響で完全に表示されない場合があります。ユーザー エクスペリエンスを向上させるために、今回はオーバーフロー テキストを省略記号として表示する必要があります。
次に、次のテキスト コンテンツに対して行テキスト オーバーフロー スタイルを実装する方法を見てみましょう。
長い竹林、広大な緑、都会の喧騒とは無縁の、なんとも静かで静かな自然。雨がゆっくりと降ると、緑の枝葉に軽い煙が立ち上り、まるで霧か雲のようで、むしろ水墨画のようで、香りと香りに満ちていて、誰の夢なのかわかりません。さらに酔いしれるのは、散らばり、音となり、歌となる美しい雨の音。この時、雨は細く、竹は弦を張り、風は流れ、心はささやきます、雨の音を聞く人は誰でも心の友です。
1. js ファイルに、テキスト コンテンツを入力します:
Page({ data: { content:'人要拿得起,也要放得下。拿得起是生存,放得下是生活;拿得起是能力,放得下是智慧。有的人拿不起,也就无所谓放下;有的人拿得起,却放不下。拿不起,就会一事无成;放不下,就会疲惫不堪。人生外在的一切最终丝毫也带不走,晚放下不如早放下。放下无谓的负担,才能一路自在。' } });
2. で # を使用します。 css ファイル ##text-overflow: ellipsis行末に表示される末尾の省略記号を設定します:
white-space: nowrap; /* 不换行 */ overflow: hidden; /* 超出隐藏 */ text-overflow: ellipsis; /* 超出部分显示省略号 */
Page({ data: { content:'人要拿得起,也要放得下。拿得起是生存,放得下是生活;拿得起是能力,放得下是智慧。有的人拿不起,也就无所谓放下;有的人拿得起,却放不下。拿不起,就会一事无成;放不下,就会疲惫不堪。人生外在的一切最终丝毫也带不走,晚放下不如早放下。放下无谓的负担,才能一路自在。' } });
CSS ファイルのテキスト オーバーフロー: ellipsis 末尾の省略記号と複数行のテキスト オーバーフローを表示するように行末を設定します:
display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 5; /* 指定显示文本的行数 */ overflow: hidden; /* 超出隐藏 */
Page({ data: { content:'人要拿得起,也要放得下。拿得起是生存,放得下是生活;拿得起是能力,放得下是智慧。有的人拿不起,也就无所谓放下;有的人拿得起,却放不下。拿不起,就会一事无成;放不下,就会疲惫不堪。人生外在的一切最终丝毫也带不走,晚放下不如早放下。放下无谓的负担,才能一路自在。' } });
text-overflow: ellipsis を使用します。 末尾の省略記号を表示するように行末を設定し、複数行のテキスト オーバーフローを設定します:
display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 5; /* 指定显示文本的行数 */ overflow: hidden; /* 超出隐藏 */ text-overflow: ellipsis; /* 超出部分显示省略号 */
<view class="container"> <view class="title"> <text class="title_txt">hello,我是测试demo</text> </view> <view class="content {{isShow ? 'on' : ''}}"> 悠悠竹林,万顷翠色,几多清幽和宁静,自然没有城市的喧嚣和杂乱。若有雨徐徐飘落,在绿绿的枝叶上腾起袅袅轻烟,如雾,如云,更似一幅水墨丹青,流芳沁馨,不知泊了谁的梦怀。更醉人的是那动听的雨声,疏疏落落,潇然成音成曲。此时,雨为纤指竹为弦,清风流韵,细弹心语,听雨的人,便是知音。 </view> <block s-if="{{lineNum > 4}}"> <view class="btn" bindtap="open">{{isShow ? '收起' : '展开'}}</view> </block> </view>
.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;}
/** * 默认收起状态,isShow作为控制显隐的开关 * 点击按钮isShow的状态值取反即可。 * 获取行数的计算方式: * 行数 = 内容高度/ 行高 */ Page({ data: { isShow: false, lineNum: 5 }, open() { this.setData({ isShow: !this.data.isShow }); }, onShow() { const query = swan.createSelectorQuery(); query.select('.content').boundingClientRect(); query.exec(res => { const LineHeight = 30; // 行高 const LineNum = res[0].height / LineHeight; // 行数 if (LineNum < 5) { this.setData({ lineNum: LineNum }); } }); } });
以上がアプレットのテキストがオーバーフローした場合、省略記号として表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。