一些CSS3特性

文本多列展示。

column-width:12em;设定列宽。改变视口宽度会动态改变列数。假如想让列数固定,宽度可变。可以写成column-count:4;column-gap:2em;设置劣间间距。column-rule:thin dotted #999;设置列之间的分割线样式。多列布局中,如果每一列文本太长可能影响用户体验。这是因为用户需要反复上下滚动页面,会很麻烦。

断字

假如将很长的URL放到很小的空间里,URL会跑出空间范围。使用一个CSS3声明可以修复它。word-wrap:break-word;

截断文本

截断文本以前一直是服务器端来做。CSS可以通过样式来实现:width:520px;overflow:hidden;text-overflow:ellipsis;white-space:no-wrap;white-space:nowrap声明是为了确保长出来的文本不会折行显示在外部元素中。

创建水平滚动面板

设置父模块overflow-x:auto;white-space:nowrap;设置子模块display:inline-block。inline-flex或inline-table都可以。

::before和::after伪元素,如果查询示例代码,你会发现::before伪元素用于显示项目的数量。如果使用伪元素,为了保证::before和::after显示,它们必须包含一个content值,就算空白也行。显示之后,这些元素就好像相应元素的第一个和最后一个子元素一样。

为了增添点艺术情调,还可以尽量隐藏滚动条。可惜相应属性只有个别浏览器支持。所以要手工添加前缀(Autoprefixer不会添加这些属性,因为它们是专有的)。此外还可以针对Webkit浏览器(ios设备)添加一些触摸样式的滚动效果。只是firefox不支持隐藏滚动条,安卓低版本还不支持水平滚动。

特性查询

CSS原生的分支语法就是特性查询。不过IE11以及IOS8.1之前不支持这个特性。特性查询与媒体查询语法类似:

@supports(flashing-sausages:lincolnshire){
  body{
     sausage-sound:sizzing;
    }
}

这样写得前提是浏览器支持@supports,可如果不支持,这两块代码都不会被应用。如果涵盖不值@supports的设备,最好首先写默认的声明,然后再写@supports声明。

也可以组合条件,&&符号改成and关键字。支持的关键字还有or。

有些不支持@supports的浏览器,可以使用一个js工具解决这个问题。

Modernizr

在@supports得到广泛支持以前,可以使用Modernizr这个Js工具。目前,它是CSS中实现分支的最可靠方式。

新CSS3选择符

data-*属性是HTML5引入的一个用于保存数据的属性。CSS3最后hi吃一句属性选择符包含的子字符串来选择元素。根据子字符串匹配元素分配三种情况:以....开头、包含....、以....结尾。

“以...开头”选择符来选择:img[alt^="file"]{}

“包含....”选择符来选择:img[alt*="file"]{}

“以....结尾”选择符来选择:img[alt$="file"]{}

CSS3结构化伪类

以前最后一个或者第一个都要单独写一个类。这种方式在一些管理系统内添加起来不容易。利用CSS3提供得结构化伪类,可以轻松处理类似问题。

CSS2.1就有一个用于匹配列表中第一项的选择符:div:first-child{},css3又增加了一个可以选择最后一项的选择符:div:last-child{}。

使用nth-child选择符可以解决更麻烦的问题。还是与前面一样得标记,如果想隔一个选一个怎么办?可以选择奇数个:nav-Link:nth-child(odd){},.nav-Link:nth-child(even){}。

使用nth

CSS3提供了以下几个基于nth的规则:nth-child(n),nth-last-child(n),nth-of-type(n),nth-last-of-type(n)。传入整数。比如nth-child(2)会选择第二项。传入数值表达式。例如nth-last-child(2)会从第一项开始,然后每三个选一个。

:not,另一个有用的伪类选择符是表示“取反”的:not。这个选择符用于选择“非.....”。

:empty,这个伪类选择器用来解决“只添加了一些内边距,而内容会在将来某个时刻动态插入的元素。这个元素有时候有内容,有时候没有。问题在于,在这个元素没有内容时,它得内边距还在。”这个时候我们可以用伪类:empty来隐藏它。.thing:empty{display:none;}内容中有空格算是由内容,只有注释不算有内容。

伪类从CSS2开始引入,CSS3又对其语法进行了修订。CSS3要求写成双:。

:first-line伪元素选择的目标根据视口大小不同而不同,这是最关键的。p::first-line{color:#ff0cff};随着视口大小变化,呈现粉红色得文本长度也会变化。

CSS自定义属性和变量

CSS现在也出现了可编程的特性。首先就是自定义蜀绣那个。虽然经常被称为变量,但作为变量并非自定义属性的唯一用途。浏览器实现的支持并不多。自定义属性可以存储信息,这些信息可以在样式表的其他地方使用,也可以通过JS操作。

:root{
  --MainFont: ‘PingFangSC-Regular‘
}
.Title{
  font-family:var(--MainFont);
}

自定义属性以两个短划线开头,接着是自定义属性的名字。

原文地址:https://www.cnblogs.com/wlxll/p/8400586.html

时间: 2024-09-30 19:33:31

一些CSS3特性的相关文章

[转]JavaScript快速检测浏览器对CSS3特性的支持

转自:https://yuguo.us/weblog/detect-css-support-in-browsers-with-javascript/ -------------------------------------------------------------------------------------------------- 在项目中需要快速检测浏览器是否支持某CSS3特性,比如检测是否支持“transform”,然后我的布局会有两种完全不同的版式. 当然除开本文介绍的这种快

CSS3特性修改(自定义)浏览器默认滚动条

前言:我们做前端时,会遇到一些需求,要求把默认浏览器的滚动条样式给改写了,诶.好好的改它干啥了,也带不来用户体验,就是好看点嘛!实现原理其实是用了伪元素,webkit的伪元素实现很强,可以把滚动条当成一个页面元素来定义,再结合一些CSS3属性,比如圆角.渐变.rgba等等.最常见的伪元素,我们最熟悉的元素之前和元素之后(::before/::after)[伪类(:hover/:link)].这里写了一个Demo,来看看... 一.HTML <div class="banner_box&qu

20个非常绚丽的 CSS3 特性应用演示

这篇文章收集了20个非常绚丽的 CSS3 效果应用演示,这些示例演示了 CSS3 各种新特性的强大能力.随着越来越多的浏览器对 CSS3 支持的不断完善,设计师和开发者们有了更多的选择,以前需要使用 JavaScript 才能实现的各种很酷的界面效果和动画,如今使用纯 CSS 代码就可以很容易实现.相信下面这些 CSS3 演示会让你感到吃惊! 01. Experimental Animations 02. Animated Button 03. Splash and Coming Soon 04

利用CSS3特性巧妙实现漂亮的DIV箭头

DIV箭头用于表现DIV内容的指向,是使用非常普遍的一种表现形式,例如新浪微博的消息转发: 还有傲游网站的导航条: 像傲游账户上方这种箭头更需要多幅图片以表现箭头和hover的效果. 传统的实现方式都需要一副表示箭头的图片放在DIV上方来实现,例如新浪微博的相关CSS如下: 而使用CSS3的特性,我们不需要图片就可以实现更加华丽的效果,这样做的好处还包括减少本地文件系统的读取.节省服务器带宽和连接数.避免文件下载失败带来的错误等等. 实现的原理是:我们可以将箭头看作是一个矩形或者菱形的一个角,使

认识CSS3特性之过渡

前端之HTML5,CSS3(三) 过渡 通过 CSS3,我们可以在不使用 Flash 动画或 JavaScript 的情况下,当元素从一种样式变换为另一种样式时为元素添加效果的特性称为过渡.简单来说,就是某一元素从一种状态平滑的转变为另一种状态的过程. 过渡(transition)的属性 基本语法:选择器 {transition:过渡属性 花费时间 运动曲线 开始时间延时},存在多组属性变化可以使用逗号隔开,多组属性变化可以看到表现为慢动画效果. 属性 描述 transition 属性连写,可以

针对css3特性浏览器兼容 封装less

//--------------------------------------------------- // LESS Prefixer //--------------------------------------------------- // // All of the CSS3 fun, none of the prefixes! // // As a rule, you can use the CSS properties you // would expect just by

css3 特性实现多行展示,超过则以省略号显示

最近做移动端的项目,遇到一个问题,要求文章的标题,如果太长的话,则默认显示两行,超过则以省略号显示. 很容易查找到利用css显示一行,如果超过则以省略号显示. 多行显得资料有点少 实现方法如下 实现效果

CSS3 的一些新特性以及效果

深入了解 CSS3 新特性 来源: ibmdeveloperworks  发布时间: 2012-02-06 15:34  阅读: 5114 次  推荐: 3   原文链接   [收藏] 摘要:现如今,随着 Web2.0 技术的流行,之前的 CSS2 标准和相关技术似乎已经满足不了日益增长的开发需求:人们需要实现更加美观.用户体验更好的界面.CSS3,这个新一代的标准应运而生.为了满足现有的对于 Web UI 的开发需求,它提供了一系列强大的功能,如许多新的 CSS 属性(文字,布局,颜色等等),

使用Modernizr探测HTML5/CSS3新特性

HTML5, CSS3以及相关技术(例如canvas和web sockets)带来了非常有用的特性,可以让我们的web程序提升一个新的level.这些新技术允许我们只用HTML,CSS和JavaScript 就可以构建包括在平板和移动设备上能够运行的多样化表单页面.HTML5虽然提供了很多新特性,但是如果我们不考虑旧版本的浏览器就是用这些新技术也不太 现实,老版本浏览器已经使用了很多年,我们依然需要考虑这些版本的兼容性问题.本文要解决的问题就是:在我们使用HTML5/CSS3技术的时候,如何更