<strike id="g3zqm"></strike>

      <cite id="g3zqm"></cite>

        <tr id="g3zqm"><center id="g3zqm"></center></tr>
        <pre id="g3zqm"><sup id="g3zqm"></sup></pre>
        <li id="g3zqm"></li>
      1. 少妇高潮激情一区二区三,免费av深夜在线观看,亚洲狼人久久伊人久久伊,久久精品人人做人人爽电影蜜月,黄色特级片一区二区三区,欧美日韩在线亚洲二区综二,极品少妇无套内射视频,日本极品少妇videossexhd

        CSS偽類:empty讓我眼前一亮

        2020-11-4    前端達人

        最近看過我文章的都知道:我最近在負責一個微信小程序的項目,在其中遇到了很多有趣的事和一些“奇思妙想”。本文的背景就是某天早上我看著wxml文件中一堆wx:if/elsehidden突然很煩躁,先不說wx:if導致的性能問題,就是標簽上也是冗雜的。


        接著上一篇文章【微信小程序自定義組件庫yPicker組件分析及省市區三級聯動實現】,在其中我分析了這么一個例子 —— 省市區三級聯動的自定義實現,在其中有詳細代碼這里就不多說,說說如何調用:

        我當時是這么想的:一方面出于“不在JavaScript里寫太多東西”的考慮,另一方面,由于省、市、區我是分別用三個變量來實現的,所以JavaScript里就關注這三個變量,比如之間的空格或其它東西都拿到wxml文件里。就像這樣:

        <view class="departments location" bindtap="fixedshow"> <view class="depart_title">所在位置</view> <view wx:if="{{provinces&&citys&&areas}}" class="placeholder depart_content">{{provinces}} {{citys}} {{areas}}</view> <view class="placeholder depart_content befselect" wx:else>請選擇當前位置</view> <view class="desc">如有變動請修改后再次提交</view> </view> 
        
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6

        (因為調用涉及到后來改動的只有在點擊彈窗里的“確認”按鈕時在事件中將那三個變量分別賦給這段代碼中出現的三個變量 —— 否則會只要改動不管是點取消還是確認已經發生改變了,這樣不妥!)

        其布局是這樣的:

        .departments{ width: 100%; height: 96rpx; display: flex; align-items: center; font-size: 36rpx; font-weight: 347; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } .location{ position: relative; border-bottom: 1rpx solid rgba(0,0,0,.009); display: flex; align-items: flex-start; padding-top: 20rpx; } .desc{ position: absolute; right: 19rpx; bottom: 4rpx; color: rgb(63,142,255); font-size: 23rpx; } .departments .depart_title{ width: 20%; } .departments .depart_content{ margin-left: 10%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } .departments .placeholder{ width: 69%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } 
        
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
        • 8
        • 9
        • 10
        • 11
        • 12
        • 13
        • 14
        • 15
        • 16
        • 17
        • 18
        • 19
        • 20
        • 21
        • 22
        • 23
        • 24
        • 25
        • 26
        • 27
        • 28
        • 29
        • 30
        • 31
        • 32
        • 33
        • 34
        • 35
        • 36
        • 37
        • 38
        • 39
        • 40
        • 41

        location


        在決定了要替換這里的wx:if以后,你首先要想:用什么替換?
        wx:if作用是判斷“是否存在”,如果不存在(條件不滿足)就切換到wx:else或是wx:elif的邏輯里!

        OK,想到這里,你應該能想到一個css偽類::empty !它的作用和我們想要的效果一樣:判斷如果元素(內容)為空的話…
        我迅速對代碼做了改動:

        <view class="departments location" bindtap="fixedshow"> <view class="depart_title">所在位置</view> <view class="placeholder depart_content">{{provinces}} {{citys}} {{areas}}</view> <view class="desc">如有變動請修改后再次提交</view> </view> 
        
        • 1
        • 2
        • 3
        • 4
        • 5

        然后在class - depart_content上加了這個偽類:

        .placeholder:empty::before{ content: "請選擇當前位置"; color: rgba(0,0,0,.6); } 
        
        • 1
        • 2
        • 3
        • 4

        wx
        一片空白!

        經過查閱資料::empty偽類表示如果標簽內容為空,那么內容區域如果帶有空格,也是不會被匹配到的!

        在寫標簽時一定要注意這一點:標簽內是否有空格或換行!(換行常常被解析為一個空格)
        遇到非單標簽一定注意閉合標簽!

        最后解決辦法是:在js中將三個變量用空格相連接,再渲染到頁面上即可!
        wx-position
        (其實這里是一個自定義的選擇器,而自動定位就是往高德地圖發送了請求獲取到省市區字段而已,代碼就不寫了。。。)


        到這里我們會發現一個事:上面我們不僅用了empty偽類,還用了before偽元素!

        其實這一點很平常 —— 畢竟只有empty是添加不了內容的(似乎縱觀css,只有before和after這樣偽元素可以向頁面中添加內容,不管是文字還是圖片之類的)

        我認為更應該關注到的是兩個地方:

        1. 偽元素中沒有用position定位!一般來說對一個(存在內容的)元素來說,為其設置“前置”(before)/“后置”(after)樣式都需要定位:規定其顯示的地方。不然大概率偽元素中的文字是顯示不出來的,通過本文的empty可以猜測:他被原本存在的內容覆蓋住了。
        2. 從第一點可以得出::before 和 :after 偽元素向標簽內插入內容、圖形,并不會影響empty偽類的匹配!

        這個特性實用的一批。


        由上,可見此偽類最大的用處就是“字段缺失提示”!這是非常實用的。而且把這項任務交給CSS也可以減輕許多“(布局)負擔”、體驗更好、維護起來也更方便!

        比如:我在項目優化時就將所有有請求的字段都加上了統一類名:

        .ym-empty:empty::before{ content: "暫無數據,請重試", display: block; text-align: center; color: rgba(0,0,0,.6); /** 其它定位、字體更改操作 */ }


        作者:,轉載


        日歷

        鏈接

        個人資料

        藍藍設計的小編 http://m.hengshangtqd.cn

        存檔

        主站蜘蛛池模板: 亚洲男人天堂成人网| 蜜臀av在线观看| 久久综合97丁香色香蕉| 国内成人自拍| 午夜丁香婷婷| 亚洲人亚洲人成电影网站色 | 成人黄色av免费观看| 国产成人a∨激情视频厨房| 香港日本三级亚洲三级| 无码国产精品一区二区免费式影视| 日本欧美国产精品第一页久久| AV教师一区高清| 四房播色综合久久婷婷| 久久精品一区二区免费播放| 国产精品免费一级在线观看| 丰满人妻被猛烈进入中文字幕| 国内自拍第一区二区三区| 毛片av中文字幕一区二区| 国产综合色在线视频播放线视| 人妻丝袜中文字幕久久| 国产精品国语对白一区二区| 亚洲av伊人久久青青草原| 淮南市| 国产区在线观看视频| 中文亚洲成A人片在线观看| 自拍偷拍亚洲激情| 伊人色影院| 亚洲三级视频在线观看| 97香蕉碰碰人妻国产欧美| 国产午夜福利视频一区二区| 国产一卡2卡三卡4卡免费网站| 一级成人欧美一区在线观看| 丝袜.制服.丝袜.亚洲.日韩.中文 国产制服丝袜在线视频 | 麻豆视频在线观看免费网站| 涩涩国产在线不卡无码| 亚洲色一色噜一噜噜噜| 国产粗大| 五十路熟女一区二区三区| 成人特级毛片WWW免费版| 啪啪福利导航| 精品一区二区久久久久久久网站|