CSS3的现状:1、浏览器支持程度差,需要添加私有前缀  2、移动端支持优于PC端  3、不断改进中  4、应用相对广泛

在CSS3中增加新增了许多灵活查找元素的方法,极大的提高了查找元素的效率和精准度。CSS3选择器与jQuery中所提供的绝大部分选择器兼容。

一.属性选择器:

ele[attr] 元素包含该attr属性就可以捕获到 ([]前面的ele可以不写,如果不写的话按通配*[attr])
ele[attr=value] 元素包含该attr属性,且该attr的value有且只有一个并且完全相等的时候可以捕获。
ele[attr~=value] 元素包含该attr属性,并且该attr的值可以以空格分隔,只要其中一个属性全等与value就可以捕获
ele[attr^=value] 元素包含该attr属性,并且该attr的值中以value开头就可以(开头如果有空格的话空格也会占位)
ele[attr$=value] 元素包含该attr属性,并且该attr的值中以value结尾就可以(结尾如果有空格的话空格也会占位)
ele[attr*=value] 元素包含该attr属性,并且该attr的值中包含value就可以(中间如果有空格的话空格也会占位)
ele[attr|=value] 元素包含该attr属性,并且该attr的值中以value开头或者以value-开头都可以捕获到

二.伪类选择器:

  除了以前的:link、:active、:visited、:hover,CSS3又新增了其它的伪类选择器

  所有的伪类:前面的ele也可以不写,不写的话按照通配
  ele:first-child 该ele元素的兄弟级元素中的第一个
  ele:first-of-type 该ele元素的兄弟元素中同类型的第一个

  ele:last-child 该ele元素的兄弟级元素中的最后一个
  ele:last-of-type 该ele元素的兄弟元素中同类型的最后一个

  ele:nth-child(xn+y) 该ele元素的兄弟级元素中的第xn+y个
  n的取值范围是0到正无穷 0 1 2 3 4 5 6 ...
  元素的索引是从1开始的 1 2 3 4 5 6 ...
  x可以是负值
  ele:nth-of-type(xn+y) 该ele元素的兄弟级元素中同类型的第xn+y个
  n的取值范围是0到正无穷 0 1 2 3 4 5 6 ...
  元素的索引是从1开始的 1 2 3 4 5 6 ...
  x可以是负值

  ele:nth-last-child(xn+y) 该ele元素的兄弟级元素中的倒数第xn+y个
  ele:nth-last-of-type(xn+y) 该ele元素的兄弟级元素中同类型的倒数第xn+y个

  ele:empty 该元素下没有任何元素(可以有注释,空格是站位的)
  ele:checked 单选框和复选框在选中状态下会被捕获
  ele:disabled 禁用状态下的按钮
  ele:enabled 不禁用状态下的按钮

三.目标伪类:

  ele:target 结合锚点进行使用,处于当前锚点的元素会被选中;

四.伪元素选择器:    

    ele::first-letter 文本的第一个单词或字
    ele::first-line 文本第一行
    ele::selection 被选中区块的样式(只能添加背景颜色,字体颜色,字体阴影)
    ele::placeholder 占位符样式

    重点:  ele::before、ele::after  是一个行内元素,需要转换成块元素 必须设置 content属性.

ele:after、ele:before 在旧版本里是伪元素,CSS3的规范里“:”用来表示伪类,“::”用来表示伪元素,但是在高版本浏览器下ele:after、ele:before会被自动识别为ele::after、

ele::before,这样做的目的是用来做兼容处理。

":" 与 "::" 区别在于区分伪类和伪元素.

五.颜色 :  

     新增了RGBA、HSLA模式,其中的A 表示透明度通道,即可以设置颜色值的透明度,相较opacity,它们不具有继承性,即不会影响子元素的透明度。

     rgba() r,g,b的取值范围在0-255  a表示透明度取值范围在0-1.

     hsla()  H 色调 取值范围0~360,0/360表示红色、120表示绿色、240表示蓝色  h: 0-255  s:0-100%  l:0-100%;

       opacity 设置的透明度会被子级盒子继承.

       rgba 或者 hsla 设置的透明度不会被继承.

     transparent 不能进行调整,要不就全透明,要不就全不透明.

六.文字阴影:

     text-shadow,可分别设置偏移量、模糊度、颜色(可设透明度)。阴影的大小默认跟文字一样大.

     如果要设置多个 直接使用 逗号分隔 继续往后写即可.

     1、水平偏移量  X轴 正值向右 负值向左;

     2、垂直偏移量 Y轴 正值向下 负值向上;

     3、模糊度是不能为负值;

     可设置四个参数:第一个参数 X方向的移动 正值是X轴正方向
     第二个参数 Y方向的移动 正值是Y轴正方向
     第三个参数 阴影模糊度 数值不能为负值 越大越模糊
     第四个参数 阴影的颜色
     四个参数为一套,一套可以出一个阴影,用“,”分割可以出多套阴影

七.边框圆角:

     border-radius. 以0px位例子. border-radius:0px 0px 0px 0px.可设置4个参数 分别表示左上、右上、左下、右下.

                   border-radius:0px 0px 0px.可设置3个参数 分别表示左上、右上、左下右下

                   border-radius:0px 0px.可设置2个参数 分别表示左上右上、左下右下.

                   border-radius:0px 可设置1个参数 表示左上右上左下右下

八.盒子阴影 box-shadow:

     box-shadow 盒子阴影

     第零个参数 inset 向内扩散的意思(选填)

     第一个参数 X方向的移动 正值是X轴正方向
     第二个参数 Y方向的移动 正值是Y轴正方向
     第三个参数 阴影模糊度 数值不能为负值 越大越模糊
     第四个参数 阴影的扩散 数值不能为负值
     第五个参数 阴影的颜色
     一套可以出一个阴影,用“,”分割可以出多套阴影,可以设置多重边框阴影,实现更好的效果,增强立体感.                                                                                           所有的阴影都只是视觉上的效果,不会影响文档流的站位 不会改变盒子大小.

九.盒模型 box-sizing:

     兼容性比较好

     box-sizing 如果不设置 默认的值 就是                                                                                                                                                                    content-box: 优先保证内容的大小 对盒子进行缩放;

     border-box: 让 盒子 优先保证自己所占区域的大小,对内容进行压缩;

     盒子的计算是 内容+padding+border
     box-sizing: content-box; width和height代表的是内容的宽高
     box-sizing: border-box; width和height代表的是盒子的宽高

     如果在实际开发中 需要保证 元素所占的 区域大小 优先级要高于 内容的大小 可以选用该属性

十.背景图片属性:

     1、background-size设置背景图片的尺寸:包含两个属性 cover contain. 也可以使用长度单位或者百分比设置

     cover会自动调整缩放比例,保证图片始终填充满背景区域,如有溢出部分则会被隐藏。

     contain会自动调整缩放比例,保证图片始终完整显示在背景区域。

     可以设置多张背景图片:例 用","号隔开即可

background-image: url('images/xxx.jpg'),url('images/xxx.png')

     设置多张图片的位置用","号隔开即可 也可以用长度单位

background-position: top left,bottom right;

     复合属性中设置图片大小 注意需要用"/"号分隔

url('images/dog.gif') no-repeat 115px 70px / 200px 200px

    

    2、background-origin设置背景定位的原点 包含三个属性

      border-box以边框做为参考原点;

      padding-box以内边距做为参考原点;

      content-box以内容区做为参考点;

    3、background-clip设置背景区域裁切 包含三个属性

      border-box裁切边框以内为背景区域;

      padding-box裁切内边距以内为背景区域;

      content-box裁切内容区做为背景区域;

CSS3的基础用法的更多相关文章

  1. css基础之 font的简写规则 以及 自定义 CSS3 @font-face详细用法

    Part 1 font简写 CSS的命名规则是用英文字母 数字 和下划线(一般用小写)来命名.简写css font的好处有三:一是写起来方便(就像键盘快捷键):二是简化代码:三是帮助你熟悉和深刻理解c ...

  2. CSS3的基础知识点

    面临找工作之际,又将CSS3的基础知识撸了一把,做了相应的笔记,主要是方便自己查阅,参考的是W3C的知识.    1.CSS背景 (1).background-size 属性 background-s ...

  3. PropertyGrid控件由浅入深(二):基础用法

    目录 PropertyGrid控件由浅入深(一):文章大纲 PropertyGrid控件由浅入深(二):基础用法 控件的外观构成 控件的外观构成如下图所示: PropertyGrid控件包含以下几个要 ...

  4. CSS3的@keyframes用法详解:

    CSS3的@keyframes用法详解:此属性与animation属性是密切相关的,关于animation属性可以参阅CSS3的animation属性用法详解一章节. 一.基本知识:keyframes ...

  5. logstash安装与基础用法

    若是搭建elk,建议先安装好elasticsearch 来自官网,版本为2.3 wget -c https://download.elastic.co/logstash/logstash/packag ...

  6. elasticsearch安装与基础用法

    来自官网,版本为2.3 注意elasticsearch依赖jdk,2.3依赖jdk7 下载rpm包并安装 wget -c https://download.elastic.co/elasticsear ...

  7. BigDecimal最基础用法

    BigDecimal最基础用法 用字符串生成的BigDecimal是不会丢精度的. 简单除法. public class DemoBigDecimal { public static void mai ...

  8. Vue组件基础用法

    前面的话 组件(Component)是Vue.js最强大的功能之一.组件可以扩展HTML元素,封装可重用的代码.根据项目需求,抽象出一些组件,每个组件里包含了展现.功能和样式.每个页面,根据自己所需, ...

  9. Smarty基础用法

    一.Smarty基础用法: 1.基础用法如下 include './smarty/Smarty.class.php';//引入smarty类 $smarty = new Smarty();//实例化s ...

随机推荐

  1. 修改远程桌面连接端口3389,RDP-Tcp的portnumber要用十六进制修改

    1. 运行regedit 2. 展开 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds ...

  2. 自定义readonly属性的用法

    具有readonly特性的属性,相当于仅对外提供一个读取接口,在实现文件中是不会自动生成对应的成员变量的,因此使用方法为: // MyItem.h @interface MyItem : NSObje ...

  3. js 自带的 map() 方法

    1. 方法概述 map() 方法返回一个由原数组中的每个元素调用一个指定方法后的返回值组成的新数组. 2. 例子 2.1 在字符串中使用map 在一个 String  上使用 map 方法获取字符串中 ...

  4. asp.net 微信开发失效汇总

    1.验证控件 在Iphone 5以上版本不兼容(改为js验证)

  5. PHP三元运算符 isset($_GET['id']) ? $_GET['id'] : ”

    $id = isset($_GET['id']) ? $_GET['id'] : ''; ?> 这是一个php的三元运算符 (条件) ? (值1):(值2); 解释:如果条件成立(为真),则执行 ...

  6. JSON入门教程

    尽管有许多宣传关于 XML 如何拥有跨平台,跨语言的优势,然而,除非应用于 Web Services,否则,在普通的 Web 应用中,开发者经常为 XML 的解析伤透了脑筋,无论是服务器端生成或处理 ...

  7. python 学习笔记十五 web框架

    python Web程序 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. Python的WEB框架分为两类: 自己写socket,自 ...

  8. Android Listview

    方法一: xml文件 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xml ...

  9. Tips collection of iOS development

    <转>UITableView当数据很少的时候,去掉多余的cell分割线   在tableView初始化的时候 UIView *v = [[UIViewalloc] initWithFram ...

  10. 5.对与表与表之间的关系,efcore是如何处理的

    public class Account { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int Accoun ...