当前位置: 首页 > Web前端 > HTML

CSS也能写if-else语法

时间:2023-03-28 00:08:46 HTML

有梦想,有干货,微信搜索【大千世界】关注这位大清早还在洗碗的洗碗智者。本文已收录到GitHubhttps://github.com/qq449245884/xiaozhi,里面有完整的测试站点、资料和我的一线厂商访谈系列文章。当我在2011年开始编写CSS时),我从不怀疑语言会发生多大的变化。我还记得使用PIE.htc使边框半径适用于所有浏览器,我的同事制作了一个PHP脚本,生成一个PNG来圆角。然而,在过去的几年里,出现了大量新的CSS特性。其中一些语句也可以被视为if语句,例如@supports样式:@supports(border-radius:50%){//不要使用PIE.htc!{}}还有一个经典的媒体查询,已经存在十多年了:@media(max-width:1000px){//maybeamobilesizeddevice?{}}还有一个新的camp(),有点不同:width:clamp(1000px,50%,10vw);但是像这样的行为:width:clamp(1000px>=(50%>=10vw));看得头疼。但这些可以说只是if语句。如果我们想要一个if/else语句,我们需要做这样的事情。@media(max-width:1000px)and(prefers-color-scheme:dark){//可能是深色模式的移动设备{}}@media(max-width:1000px)and(prefers-color-scheme:light){//maybeamobiledeviceinlightmode{}}这很烦人。不过好消息是,新提出的@When特性可以解决我们的烦恼。