• <noscript id="ggggg"><dd id="ggggg"></dd></noscript>
    <small id="ggggg"></small> <sup id="ggggg"></sup>
    <noscript id="ggggg"><dd id="ggggg"></dd></noscript>
    <tfoot id="ggggg"></tfoot>
  • <nav id="ggggg"><cite id="ggggg"></cite></nav>
    <nav id="ggggg"></nav>
    成人黃色A片免费看三更小说,精品人妻av区波多野结衣,亚洲第一极品精品无码,欧美综合区自拍亚洲综合,久久99青青精品免费观看,中文字幕在线中字日韩 ,亚洲国产精品18久久久久久,黄色在线免费观看

    CSS偽類:empty讓我眼前一亮

    2020-11-4    前端達人

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


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

    我當時是這么想的:一方面出于“不在JavaScript里寫太多東西”的考慮,另一方面,由于省、市、區(qū)我是分別用三個變量來實現(xiàn)的,所以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

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

    其布局是這樣的:

    .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
    一片空白!

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

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

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


    到這里我們會發(fā)現(xiàn)一個事:上面我們不僅用了empty偽類,還用了before偽元素!

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

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

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

    這個特性實用的一批。


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

    比如:我在項目優(yōu)化時就將所有有請求的字段都加上了統(tǒng)一類名:

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


    作者:,轉載


    日歷

    鏈接

    個人資料

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

    存檔

    主站蜘蛛池模板: 一区二区亚洲精品国产| 亚洲%20欧美%20动漫%20少妇%20自拍| 韩国精品一区二区三区四区| 国产又黄又湿又色又刺激| 国产精品亚洲αv天堂无码| 欧美福利| 日本成人免费一区二区三区| 天天撸狠狠操| 亚洲综合久久伊人热| 性欧美videoshd| 久久久久人妻一区二区三区vr| 男女猛烈激情XX00免费视频| 无遮挡韩国成人羞羞漫画视频| 99久久99久久精品国产片| 囯产精品无码一区二区三区AV| 人妻中文字幕AV无码专区 | 久久久国产精品VA麻豆| 亚洲精彩视频一区二区| 伊人久久婷婷综合五月97色| 日韩永久免费无码AV电影| 一本av高清一区二区三区| 欧美性受xxxx喷水性欧洲| 中文字幕av高清片| 国产老熟女狂叫对白| 国产在线精品人成导航| 男女激情一区二区三区| 国产精品久久精品99| 亚洲精品国产高清一线久久| 免费无码毛片一区二区app| 亚洲第一网站男人都懂| 国产女人喷潮视频免费| 久热这里只有精品视频6| aⅴ亚洲 日韩 色 图网站 播放 | 精品国产一区二区三区国产馆| 欧美性爱影院| 久久情精品国产品免费| 免费男人j桶进女人p无遮挡动态图 | 国产精品福利2020久久| 久久精品aⅴ无码中文字字幕重口 一区二区三区高清视频国产女人 操丝袜美腿在线播放网站上 | 国产亚洲欧洲国产综合一区| 国产日韩精品欧美一区喷水|