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. Java中Map的三种遍历方法

    Map的三种遍历方法: 1. 使用keySet遍历,while循环: 2. 使用entrySet遍历,while循环: 3. 使用for循环遍历.   告诉您们一个小秘密: (下↓面是测试代码,最爱看 ...

  2. Ubuntu+Apache2+Mono+MVC3

    1.安装ssh(上传文件用,也可以用FTP) sudo apt-get install openssh-server 2.安装Apache2 apahe2:sudo apt-get install a ...

  3. VS2015 VisualStudio Emulator for Android 模拟器目录

    C:\Users\wangbin5542\AppData\Local\Microsoft\VisualStudioEmulator\Android\Containers\Local\Devices 目 ...

  4. 轮廓线DP POJ3254 && BZOJ 1087

    补了一发轮廓线DP,发现完全没有必要从右往左设置状态,自然一点: 5 6 7 8 9 1 2 3 4 如此设置轮廓线标号,转移的时候直接把当前j位改成0或者1就行了.注意多记录些信息对简化代码是很有帮 ...

  5. IBM WebSphere MQ的oracle的jdbc

    一.IBM WebSphere MQ7.0的jdbc支持数据库有: DB2 Informix Informix_With_Date_Format Microsoft_SQL_Server Oracle ...

  6. ScrollView

    在程序设计中,有时我们需要实现自动滚屏或根据选择直接滚动到指定的位置的功能.这里用到的主要组件就是滚动视图(ScrollView). ---------- 那么使用ScrollView如何实现布局自动 ...

  7. 005_重写 Standard Delete Button

    以后会用JS直接删除,但是在加载.js时候出现问题,会在以后进一步追踪完善: <apex:page standardController="Opportunity" > ...

  8. mac_snailSVN

    作者:潘捷链接:https://www.zhihu.com/question/19705164/answer/119484169来源:知乎著作权归作者所有,转载请联系作者获得授权. Mac下之前也有类 ...

  9. vi编辑器的常规使用

    1.命令模式(command mode)-执行命令 在该模式中,可以输入命令来执行许多种功能.控制屏幕光标的移动,字符.字或行的删除,移动复制某区段及进入Insert mode下,或者到 last l ...

  10. XPlane android 2D手游开发实战

    android 飞行射击游戏类 采用 xamarin 跨平台开发技术  纯C#语言编写 操作简单 1.手指拖动飞机 躲避敌机 2.通过吃敌机爆炸后遗落的物品增加各种属性 3.双击战机放大技能 4.目前 ...