热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

css小记

#新的CSS伪类函数:is()和:where()##:is()*旧的写法*h1b,h2b,h3b,h4b,h5b,h6b{color:hotpink;}*新的写
# 新的 CSS 伪类函数 :is() 和 :where()

## :is()

/* 旧的写法 */
h1 > b, h2 > b, h3 > b, h4 > b, h5 > b, h6 > b {color: hotpink;
}/* 新的写法:伪类 :is */
:is(h1,h2,h3,h4,h5,h6) > b {color: hotpink;
}


## :where()

:where() 伪类函数与:is()功能相同,仅仅选择器权重不同

/* at the beginning */
:where(h1,h2,h3,h4,h5,h6) > b {color: hotpink;
}/* in the middle */
article :is(header,footer) > p {color: gray;
}/* at the end */
.dark-theme :where(button,a) {color: rebeccapurple;
}/* multiple */
:is(.dark-theme, .dim-theme) :where(button,a) {color: rebeccapurple;
}/* stacked */
:is(h1,h2):where(.hero,.subtitle) {text-transform: uppercase;
}/* nested */
.hero:is(h1,h2,:is(.header,.boldest)) {font-weight: 900;
}



CSS3四个自适应关键字——fill-available、max-content、min-content、fit-content

[注意]IE浏览器不支持,webkit内核浏览器需添加-webkit-前缀

fill-available

表示撑满可用空间:

例 width:-webkit-fill-available;

登高布局:height:-webkit-fill-available;

CSS中width:fill-available和width:100%的区别?

区别:一旦跟padding/margin结合一起使用的时候,width:100%会撑破布局,而width:fill-available却不会。


fit-content

将元素宽度收缩为内容宽度

width:fit-content可以实现元素收缩效果的同时,保持原本的block水平状态,于是,就可以直接使用margin:auto实现元素向内自适应同时的居中效果了

类似地,高度也有此特性,但不常用

div{width:-webkit-fit-content;margin:auto;
}

min-content

width:min-content表示采用内部元素最小宽度值最大的那个元素的宽度作为最终容器的宽度

hehe


max-content

width:max-content表示采用内部元素宽度值最大的那个元素的宽度作为最终容器的宽度。如果出现文本,则相当于文本不换行

hehe


min-block-size

min-block-size:length| percentage| auto| none| min-content| max-content| fit-content| inherit| initial| unset;

CSS中的min-block-size属性用于创建元素的最小水平或垂直大小。如果写入方向为水平,则min-block-size等效于min-height属性,如果写入方向为垂直模式,则等于min-width属性。

  • length:它设置以px,cm,pt等为单位的固定值。也可以使用负值。其默认值为0px。
  • 百分比(%):它与长度相同,但是大小是根据窗口大小的百分比设置的。
  • auto:当需要浏览器确定block-size时使用。
  • none:当您不想限制包装盒的尺寸时使用。
  • max-content:当您在包装盒尺寸上首选min-width时使用。
  • min-content:当您在包装盒尺寸上首选min-width时使用。
  • fit-content:当您在包装盒尺寸上首选exact-width时使用。
  • initial:它用于将min-block-size属性的值设置为其默认值。
  • inherit:当需要该元素从其父元素继承min-block-size属性时使用。
  • unset:用于取消设置默认的mix-block-size。

css   :root 和var()

非IE及ie8及以上浏览器都支持,在:root中声明相当于全局属性,只要当前页面引用了:root segment所在文件,都可以使用var()来引用

:root {--main-bg-color: pink;
}body {background-color: var(--main-bg-color);
}

常规css

filter(滤镜)(通常是)

点击该处查看各个参数的效果

filter 属性定义了元素(通常是)的可视效果(例如:模糊与饱和度)。

filter: none | blur() | brightness() | contrast() | drop-shadow() | grayscale() | hue-rotate() | invert() | opacity() | saturate() | sepia() | url();

Filter描述
none默认值,没有效果。
blur(px)给图像设置高斯模糊。"radius"一值设定高斯函数的标准差,或者是屏幕上以多少像素融在一起, 所以值越大越模糊;如果没有设定值,则默认是0;这个参数可设置css长度值,但不接受百分比值。
brightness(%)给图片应用一种线性乘法,使其看起来更亮或更暗。如果值是0%,图像会全黑。值是100%,则图像无变化。其他的值对应线性乘数效果。值超过100%也是可以的,图像会比原来更亮。如果没有设定值,默认是1。
contrast(%)调整图像的对比度。值是0%的话,图像会全黑。值是100%,图像不变。值可以超过100%,意味着会运用更低的对比。若没有设置值,默认是1。
drop-shadow(h-shadow v-shadow blur spread color)

给图像设置一个阴影效果。阴影是合成在图像下面,可以有模糊度的,可以以特定颜色画出的遮罩图的偏移版本。 函数接受(在CSS3背景中定义)类型的值,除了"inset"关键字是不允许的。该函数与已有的box-shadow box-shadow属性很相似;不同之处在于,通过滤镜,一些浏览器为了更好的性能会提供硬件加速。参数如下:

  (必须)

这是设置阴影偏移量的两个 值.  设定水平方向距离. 负值会使阴影出现在元素左边. 设定垂直距离.负值会使阴影出现在元素上方。查看可能的单位.
如果两个值都是0, 则阴影出现在元素正后面 (如果设置了  and/or ,会有模糊效果).

 (可选)这是第三个code>值. 值越大,越模糊,则阴影会变得更大更淡.不允许负值 若未设定,默认是0 (则阴影的边界很锐利).

 (可选)这是第四个 值. 正值会使阴影扩张和变大,负值会是阴影缩小.若未设定,默认是0 (阴影会与元素一样大小). 注意: Webkit, 以及一些其他浏览器 不支持第四个长度,如果加了也不会渲染。

 

 (可选)查看 该值可能的关键字和标记。若未设定,颜色值基于浏览器。在Gecko (Firefox), Presto (Opera)和Trident (Internet Explorer)中, 会应用colorcolor属性的值。另外, 如果颜色值省略,WebKit中阴影是透明的。

grayscale(%)

将图像转换为灰度图像。值定义转换的比例。值为100%则完全转为灰度图像,值为0%图像无变化。值在0%到100%之间,则是效果的线性乘子。若未设置,值默认是0;

hue-rotate(deg)

给图像应用色相旋转。"angle"一值设定图像会被调整的色环角度值。值为0deg,则图像无变化。若值未设置,默认值是0deg。该值虽然没有最大值,超过360deg的值相当于又绕一圈。

invert(%)

反转输入图像。值定义转换的比例。100%的价值是完全反转。值为0%则图像无变化。值在0%和100%之间,则是效果的线性乘子。 若值未设置,值默认是0。比如《svg》是白色的 filter: invert(1);显示为黑色

opacity(%)

转化图像的透明程度。值定义转换的比例。值为0%则是完全透明,值为100%则图像无变化。值在0%和100%之间,则是效果的线性乘子,也相当于图像样本乘以数量。 若值未设置,值默认是1。该函数与已有的opacity属性很相似,不同之处在于通过filter,一些浏览器为了提升性能会提供硬件加速。

saturate(%)

转换图像饱和度。值定义转换的比例。值为0%则是完全不饱和,值为100%则图像无变化。其他值,则是效果的线性乘子。超过100%的值是允许的,则有更高的饱和度。 若值未设置,值默认是1。

sepia(%)

将图像转换为深褐色。值定义转换的比例。值为100%则完全是深褐色的,值为0%图像无变化。值在0%到100%之间,则是效果的线性乘子。若未设置,值默认是0;

url()

URL函数接受一个XML文件,该文件设置了 一个SVG滤镜,且可以包含一个锚点来指定一个具体的滤镜元素。例如:

filter: url(svg-url#element-id)


颜色渐渐变浅

css3:linear-gradient

background: -webkit-linear-gradient(red, blue); /* Safari 5.1 - 6.0 */
background: -o-linear-gradient(red, blue); /* Opera 11.1 - 12.0 */
background: -moz-linear-gradient(red, blue); /* Firefox 3.6 - 15 */
background: linear-gradient(red, blue); /* 标准的语法 */


ie-filter

linear-gradient 在 ie9 以下是不支持的,所以对于 ie6 - ie8 我们可以使用滤镜来解决,代码如下:

filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#ffffff',GradientType=0 );

由于 filter 是 ie 的私有属性,所以我们需要针对 ie9 单独处理滤镜效果,代码如下:

:root {filter:none;}

综合

.lalla{background: #000000;background: -moz-linear-gradient(top, #000000 0%, #ffffff 100%);background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#000000), color-stop(100%,#ffffff));background: -webkit-linear-gradient(top, #000000 0%,#ffffff 100%);background: -o-linear-gradient(top, #000000 0%,#ffffff 100%);background: -ms-linear-gradient(top, #000000 0%,#ffffff 100%);background: linear-gradient(to bottom, #000000 0%,#ffffff 100%);filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#ffffff',GradientType=0 );
}
:root .gradient{filter:none;}

backdrop-filter(毛玻璃)

backdrop-filter的文档

backdrop-filter CSS 属性可以让你为一个元素后面区域添加图形效果(如模糊或颜色偏移)。 因为它适用于元素背后的所有元素,为了看到效果,必须使元素或其背景至少部分透明。

/* 关键词值 */
backdrop-filter: none;/* 指向 SVG 滤镜的 URL */
backdrop-filter: url(commonfilters.svg#filter);/* 滤镜函数值 */
backdrop-filter: blur(2px);
backdrop-filter: brightness(60%);
backdrop-filter: contrast(40%);
backdrop-filter: drop-shadow(4px 4px 10px blue);
backdrop-filter: grayscale(30%);
backdrop-filter: hue-rotate(120deg);
backdrop-filter: invert(70%);
backdrop-filter: opacity(20%);
backdrop-filter: sepia(90%);
backdrop-filter: saturate(80%);/* 多重滤镜 */
backdrop-filter: url(filters.svg#filter) blur(4px) saturate(150%);/* 全局值 */
backdrop-filter: inherit;
backdrop-filter: initial;
backdrop-filter: unset;

例子:


backdrop-filter 和 filter的区别

backdrop-filter

可以让你为一个元素后面区域添加图形效果(如模糊或颜色偏移)。 因为它适用于元素背后的所有元素,为了看到效果,必须使元素或其背景至少部分透明。
blur()使得出现毛玻璃效果,只会模糊背景,

filter

blur()使得出现毛玻璃效果,内容和背景都会模糊,

想要做出毛玻璃效果,需要两层div,一个加了filter的,一个内容层


css3自适应布局单位

 根据CSS3规范,视口单位主要包括以下4个:

      1.vw:1vw等于视口宽度的1%。

      2.vh:1vh等于视口高度的1%。

      2.vm:相对于视口的宽度或高度中较小的那个。

      3.vmin:选取vw和vh中最小的那个。

      4.vmax:选取vw和vh中最大的那个。

      5.ex: 相对于字符“x”的高度。通常为字体高度的一半。

6.px(像素):1in = 2.54cm = 25.4 mm = 101.6q = 72pt = 6pc = 96px

7.q:1/4毫米。绝对长度单位。

8.in:英寸。绝对长度单位。

9.pt:点。绝对长度单位。

10.pc:派卡。绝对长度单位。相当于我国新四号铅字的尺寸

11.ch:数字0的宽度

文字下划线

.f{text-underline-offset: 0rem;text-decoration: underline;
}

颜色

hsla

HSLA 即色相、饱和度、亮度、透明度(英语:Hue, Saturation, Lightness, Alpha )。

hsla(hue, saturation, lightness, alpha)

  • 色相(H)是色彩的基本属性,就是平常所说的颜色名称,如红色、黄色等。定义色相 (0 到 360) - 0 (或 360) 为红色, 120 为绿色, 240 为蓝色
  • 饱和度(S)是指色彩的纯度,越高色彩越纯,低则逐渐变灰,取 0-100% 的数值。定义饱和度; 0% 为灰色, 100% 全色
  • 亮度(L) 取 0-100%,增加亮度,颜色会向白色变化;减少亮度,颜色会向黑色变化。定义亮度 0% 为暗, 50% 为普通, 100% 为白
  • 透明度(A) 取值 0~1 之间, 代表透明度。定义透明度 0(透完全明) ~ 1(完全不透明)

16进制

不区分大小写

16进制和rgb互相转还有色卡


旧的弹性盒子 box

通过使用 box-align and box-pack 属性,居中 div 框的子元素:

box-align类似:align-items

box-pack类似: justify-content

具体请看:w3school

默认值:stretch
继承性:no
版本:CSS3
Javascript 语法:object.style.boxAlign="center"     div.style.MozBoxAlign="center"   div.style.webkitBoxAlign="center" ;

box-align: start|end|center|baseline|stretch;

start

对于正常方向的框,每个子元素的上边缘沿着框的顶边放置。对于反方向的框,每个子元素的下边缘沿着框的底边放置。

测试
end

对于正常方向的框,每个子元素的下边缘沿着框的底边放置。对于反方向的框,每个子元素的上边缘沿着框的顶边放置。

测试
center均等地分割多余的空间,一半位于子元素之上,另一半位于子元素之下。测试
baseline如果 box-orient 是inline-axis或horizontal,所有子元素均与其基线对齐。测试
stretch拉伸子元素以填充包含块(默认值)

div{
width:350px;
height:100px;
border:1px solid black;/* Firefox */
display:-moz-box;
-moz-box-pack:center;
-moz-box-align:center;/* Safari、Opera 以及 Chrome */
display:-webkit-box;
-webkit-box-pack:center;
-webkit-box-align:center;/* W3C */
display:box;
box-pack:center;
box-align:center;
}

新的弹性盒子 flex




推荐阅读
  • JavaWeb介绍概念JavaWeb,是用Java技术来解决相关web互联网领域的技术总和。web包括:web服务器和web客户端两部分。Java在客户端的应用有javaapplet,不过使 ... [详细]
  • 本文整理了常用的CSS属性及用法,包括背景属性、边框属性、尺寸属性、可伸缩框属性、字体属性和文本属性等,方便开发者查阅和使用。 ... [详细]
  • 前端提高篇(七十):SVG基本使用、基本样式、路径path
    SVG是使用XML来描述二维图形和绘图程序的语言。SVG遵循的是xml的规范,与html5的使用有所区别SVG绘制出来的是矢量图,放大之后不会失真官方文 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文介绍了H5游戏性能优化和调试技巧,包括从问题表象出发进行优化、排除外部问题导致的卡顿、帧率设定、减少drawcall的方法、UI优化和图集渲染等八个理念。对于游戏程序员来说,解决游戏性能问题是一个关键的任务,本文提供了一些有用的参考价值。摘要长度为183字。 ... [详细]
  • 用JavaScript实现的太空人手表
    用JavaScript实现的太空人手表-JS写的太空人手表,没有用canvas、svg。主要用几个大的函数来动态显示时间、天气这些。天气的获取用到了AJAX请求。代码中有详细的注释 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了Cocos2dx学习笔记中的更新函数scheduleUpdate、进度计时器CCProgressTo和滚动视图CCScrollView的用法。详细介绍了scheduleUpdate函数的作用和使用方法,以及schedule函数的区别。同时,还提供了相关的代码示例。 ... [详细]
  • FileReader详解与实例---读取并显示图像文件
    我们曾经在《HTML5中File对象初探》中,使用到了FileReader,在那篇文章中,它被用来将一个文件读取为二进制字符串,并通过xhr发送到后端形成交互。作为FileAPI的一部 ... [详细]
  • 前端~javascript~webAPI/文档对象模型Dom/Dom树/事件机制/操作元素/实战案例:实现网页计数器
    文章目录WebAPI简介DomDom树获取Dom元素事件事件三要素操作dom元素innerHTMLinnerText实战案例:实现网页计数器WebAPI简介什么是AP ... [详细]
author-avatar
阿贵
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有