美文网首页
vue和nvue中控件根据内容自适应大小

vue和nvue中控件根据内容自适应大小

作者: 全栈的猫南北 | 来源:发表于2023-01-12 15:42 被阅读0次
    图片.png

    自动换行效果如上1,vue默认就会换行显示,nvue页面text不能用class必须用style才能自动换行

        <view class="leftView" style="margin-left: 24rpx;">
                            <text class="topText">{{netData.algorithmName}}</text>
                            <text class="midText">{{netData.algorithmCode}}</text>
                            <text class="midText">{{netData.warningTypeName}}</text>
                        </view>
    //css
            .leftView {
                display: flex;
                width: 400rpx;
                flex-direction: column;
    
                .topText {
                    width: 400rpx;
                    display: flex;
                    color: #333333;
                    font-family: PingFang SC;
                    font-weight: 500;
                    font-size: 32rpx;
                    word-break: break-all;// 不识别单词,一行显示不下默认换行
                    word-wrap: break-word;//识别单词 不会造成单词断开换行
                    margin-top: 24rpx;
                }
    }
    

    内容自适应效果图如上2(注意:display: inline-flex;暂不支持nvue,nvue的display只支持flex)

    template

        <view class="bottomTextView">
                            <text class="bottomText">{{netData.productName}}</text>
                        </view>
    

    css

        .bottomTextView {
                margin-left: 24rpx;
                margin-top: 10rpx;
                border-radius: 4rpx;
                margin-bottom: 20rpx;
                background-color: rgb(243, 249, 254);
                display: inline-flex;//关键代码
    
                .bottomText {
                    display: flex;
                    font-size: 20rpx;
                    padding: 5rpx 10rpx;
                    color: #3775f6;
                    font-family: PingFang SC;
                }
            }
    

    nvue页面想要实现上图2的效果,可以再包裹一层view用overflow: hidden修饰

        <view class="bottomTextBgView">
                            <view class="bottomTextView">
                                <text class="bottomText">{{netData.productName}}</text>
                            </view>
                        </view>
    //css
            .bottomTextBgView {
                    overflow: hidden;
                    display: flex;
                    flex-direction: row;
                    margin-top: 10rpx;
                    margin-bottom: 20rpx;
                    margin-left: 24rpx;
                }
                .bottomTextView {
                    border-radius: 8rpx;
                    align-items: center;
                    background-color: rgb(243, 249, 254);
                    .bottomText {
                        padding: 5rpx 10rpx;
                        font-size: 20rpx;
                        letter-spacing: 0;
                        font-weight: 500;
                        lines: 1;
                        overflow: hidden;
                        text-overflow: ellipsis;
                        white-space: nowrap;
                        color: #3775f6;
                        font-family: PingFang SC;
                    }
                }
    

    相关文章

      网友评论

          本文标题:vue和nvue中控件根据内容自适应大小

          本文链接:https://www.haomeiwen.com/subject/jfgbcdtx.html