国产黄色免费网站_久久天天做天天爱综合色_精品国产一区久久久_成人黄色激情网站_久久成人在线视频_美女一区二区在线观看_亚洲精品免费一区亚洲精品免费精品一区 _91精品国产综合久久精品麻豆

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://www.newchinaweekly.com

存檔

亚洲 欧美 另类人妖| 成人精品视频一区| 中文字幕在线免费不卡| 亚洲国产精品中文| 国产精品激情自拍| 欧美成人免费在线观看视频| 蜜臀av午夜精品久久| 一本本久综合久久爱| 你懂的视频在线免费| 99国产精品久久一区二区三区| 强制捆绑调教一区二区| 色女孩综合影院| 奇米影视亚洲狠狠色| 色综合久久久久无码专区| 久久久久久久福利| 乱子伦在线视频| 毛片无码国产| 日韩精品久久理论片| 欧美天天综合网| 国产欧美日韩专区发布| 五月天av在线播放| 欧美a视频在线观看| 国产h色视频在线观看| 久久国产精品免费一区二区三区| 国产一区二区在线看| 日韩欧美国产成人一区二区| 国产不卡一区二区在线观看| 国产又粗又猛又色| 天天操天天射天天| 亚洲一二三不卡| 波多野结衣一区二区三区四区| www.男人的天堂.com| 欧美高清一级片| 99久久久国产精品免费蜜臀| 国产丝袜高跟一区| 亚洲精品中文字幕乱码三区不卡| 卡通动漫亚洲综合| 成人网址大全| 天海翼精品一区二区三区| 国产亚洲午夜高清国产拍精品| 日韩中文av在线| 欧美在线一区视频| 91在线观看喷潮| 黄色网页在线免费观看| 一区二区毛片| 日韩欧美精品在线视频| 天天人人精品| 国产91国语对白在线| 免费人成在线观看网站| 亚洲激情成人| 日韩免费视频一区二区| 亚洲国产欧美日韩| 影音先锋亚洲天堂| 久久久久久久久亚洲精品| 亚洲午夜91| 91最新地址在线播放| 久久天天躁日日躁| 天天干天天色天天干| 精品一区二区三区免费爱| 欧美视频在线视频精品| 久久久99免费| 国产精品成人va在线观看| 白丝女仆被免费网站| 九色蝌蚪av新入口| 成人嘿咻视频免费看| 欧美亚州韩日在线看免费版国语版| 精品一区久久| 欧美一区二区三区不卡视频| 免费黄网站在线观看| 久久久青草婷婷精品综合日韩| 国产视频欧美视频| 国产成人无码一二三区视频| 久艹视频在线观看| 精品街拍一区二区| 电影一区二区在线观看| 精品久久久久久中文字幕大豆网| 精品1区2区| 91福利在线观看视频| www.51av欧美视频| 久久久国产一区二区三区四区小说| 国产ts人妖一区二区三区| а天堂中文在线资源| 青青久草在线| 国产一区二区在线观看免费| 久久久伊人日本| 99热亚洲精品| 思99热精品久久只有精品| 欧美成人基地| 欧美日韩免费观看一区二区三区 | 免费网站看av| 77777影视视频在线观看| 国产精品18久久久久久久久久久久 | 精品国产成人在线| 国产高清免费在线| 先锋影音欧美四级| 欧洲乱码伦视频免费| 亚洲精品久久视频| 免费看的av网站| videoxxxx另类日本极品| 老司机精品视频导航| 欧美最顶级的aⅴ艳星| 国产网友自拍视频| 韩国美女久久| 日韩欧美国产激情| 国产精品旅馆在线| 黄色片免费观看视频| 中文在线8资源库| 五月婷婷激情综合网| 国产成人精品免费看在线播放| 一本之道久久| 亚洲女同另类| 欧美熟乱第一页| 美女福利视频在线| 成人亚洲在线观看| 蜜桃精品在线观看| 国产欧美日韩中文字幕在线| 中文字幕在线网址| 日本中文字幕在线看| 欧美国产精品专区| 亚洲成人第一| 你懂的在线视频观看| 天堂成人免费av电影一区| 国产91精品在线播放| 在线观看日本网站| 视频欧美一区| 日韩精品免费看| 极品久久久久久久| 狠狠操一区二区三区| 91福利视频网站| 污污视频网站在线| 成人av毛片| 另类的小说在线视频另类成人小视频在线 | 中文字幕一区2区3区| 色狼人综合干| 日韩中文第一页| 天天综合网入口| 久久国产精品色av免费看| 一色桃子一区二区| 动漫精品一区一码二码三码四码| 粉嫩av一区二区三区四区五区| 91精品国产91久久久久久一区二区| 亚洲自拍偷拍精品| 岛国av免费在线观看| 正在播放一区二区| 超碰97人人干| 亚洲一区资源| 日韩精品一区二区三区四区视频 | 日韩中文字幕精品视频| xxxxxx国产| 五月激激激综合网色播| 欧美人成在线视频| 中文字幕人妻互换av久久| 日韩电影在线视频| 国产精品69精品一区二区三区| 高h放荡受浪受bl| 亚洲激情影院| 国产亚洲自拍偷拍| 你懂得视频网站| 久久综合久色欧美综合狠狠| 成品人视频ww入口| 国产激情小视频| 国产成人精品三级麻豆| 国产女人18毛片| 中文字幕在线一二| 亚洲高清免费观看| 成人国产一区二区三区| 情趣视频网站在线免费观看| 亚洲一区二区三区在线播放| 午夜性福利视频| 99re66热这里只有精品4| 亚洲欧美国内爽妇网| 怡红院av久久久久久久| 亚洲激情中文| 国产激情美女久久久久久吹潮| 九色蝌蚪在线观看| 国产精品婷婷午夜在线观看| 五月婷婷丁香色| 亚洲精品成人图区| 在线视频欧美性高潮| 在线免费观看一区二区| 日韩视频中文| 亚洲精蜜桃久在线| 欧美香蕉爽爽人人爽| 欧美久久一二区| 日本三级中文字幕| 91精品国产麻豆国产在线观看| 国产精品毛片va一区二区三区| 毛片免费视频| 亚洲综合av网| 久久免费手机视频| 国内成人自拍| 狠狠色综合网站久久久久久久| 美女的尿口免费视频| 色八戒一区二区三区| 黄色一级视频在线观看| 国产精品麻豆久久| 日韩av在线电影观看| 五月天婷婷在线视频| 日韩av中文在线| 色欲av永久无码精品无码蜜桃|