CSS3的使用方法解析
自己过去有段时间使用CSS3开发过一些小的部件和效果,但是由于太久没有再次去使用,导致当自己再次去使用的时候我就需要去翻手册重新找一次然后按着方法使用才可以。
现在我就把这份CSS3的使用技巧展示给各位开发朋友们,希望对你们的使用有帮助。
顺带,我会在后面把我整理的一整套CSS3,PHP,MYSQL的开发的笔记打包放到百度云,有需要可以直接去百度云下载,这样以后你们开发就可以直接翻笔记不用百度搜那么麻烦了。
笔记链接:http://pan.baidu.com/s/1qYdQdKK 密码:pvj2
一、css3背景与边框相关样式
下面主要介绍了 几个CSS3函数的使用。
1.background-clip函数,用于背景图的显示位置。
1.background-clip:
padding-box --->边框以内有背景
content-box 只有内容行才有背景
border-box 边框一起都有背景
注意:需要配合 padding 的时候才有用 2.background-origin:
padding-box --->边框以内有背景
content-box 只有内容行才有背景
border-box 边框一起都有背景 主要是可以加一张背景图片,背景图片左上角显示(可以设置显示位置,前提是照片必须足够小) 3.background-image:url(""),url("");
background-repeat:repeat-x,no-repeat;
background-position:100%,100%,center; (可以设置图片的显示百分比位置)
主要用于显示两张背景图片,并且第一张要小于第二张,这样第一张图片在第二张的上面。(可多张叠加) 注意:建议图片为透明的,不的话会有分界 4.border-radius:10px 10px 10px 10px;(分别角为左 右 下右 下左)四个角
可以设置边框为圆角 5.-webkit-border-image:url("")10 10 10 10;
用于对图片进行拉伸,四个值依次意思为:左 上 右 下(正方形的四边来说)
二、CSS3动画
CSS3动画是CSS3的核心功能,这个是很常用的。而且也很重要。
1.transition:background 1s linear,width 1s linear,height 1s linear,transform 1s linear;
(可以对背景,其他任意元素进行设置,过度时间,linear 线性)
注意:还需要配上伪类进行一起实现渐变的效果
(属性那里可以用all, all指的是所有属性都赋予过渡效果) 也可以分开写:
transition-duration:1s;
transition-property:background,transform,width;
transition-timing-function:linear; 2.实现div颜色渐变的方法
div{
animation:anima(这个是动画名) 5s infinite alternate; /*infinite alternate 可不断重复播放动画*/
-webkit-animation:anima 5s infinite alternate;
}
@-webkit-keyframes mycolor{
0%{
background-color:blue;
}
35%{
background-color:green;
}
60%{
background-color:orange;
}
80%{
background-color:yellow;
}
100%{
background-color:aqua;
}
}
#div1:hover{
-webkit-animation:mycolor 10s linear;
} 3.实现图片旋转起来的效果
@-webkit-keyframes mycolor{
0%{
background-color:blue;
transform:rotate(0deg);
}
35%{
background-color:green;
transform:rotate(30deg);
}
60%{
background-color:orange;
transform:rotate(60deg);
}
80%{
background-color:yellow;
transform:rotate(30deg);
}
100%{
background-color:aqua;
transform:rotate(-30deg);
}
}
#div1:hover{
-webkit-animation:mycolor 5s ease;
} 注意:这几个是属性值 linear ease-in(慢快) ease-out(慢慢) ease(慢快) ease-in-out (慢快慢) 4.CSS3分列的效果(可以用来做图片的瀑布流)
-webkit-column-count:2; /*分两列*/
column-gap:50px;/* 间距 */
-webkit-column-gap:50px;/* 间距 */
column-rule:1px outset #ff0000;/* 间隔线设置 */
-webkit-column-rule:1px outset #ff0000;
column-width:250px;/* 设置列宽 */
-webkit-column-width:250px;
三、CSS3盒子相关样式
这个CSS3的盒子样式其实CSS也有,没有太多区别。
1.display 设置显示的背景长度
inline 显示为一条线,也就是元素多大就显示多少
inline-block和block一样 显示完这个div或span的长高
inline-table 只对table才有用,可以让table上下的语句一条线显示
list-item 可以让div像列表那样显示 2.overflow
hidden 可以隐藏多余的
scroll 可以让多余的不超出然后滚动看 overflow-x:hidden/scroll 让水平的隐藏或是滚动查看 white-space:nowrap 水平显示内容 3.box-shadow:10px 10px 10px #ccc;(分别对应 阴影左右偏移 上下偏移 模糊度 阴影颜色) 4.box-sizing:content-box/border-box;
一定要和padding 使用才会有变化 (content-box会让box变大,border-box不会让box变大)
四、CSS3文字与文字相关样式
主要是对字体进行修饰和制作的方法。
1.text-shadow:5px 5px 5px red,
9px 13px 10px blue,
8px 12px 10px #ccc;
字体阴影面积显示(同box-shadow) 2.自己设置字体
@font-face{
/* 可以设置字体 */
font-family:WebFont;
/* ttf :0 otf:t */
src:url('ygyxsziti2.0.ttf')format("truetype");
}
div{
font-family:WebFont;
} 3.font-size-adjust:0.57; 设置同类字体显示大小一样 4.text-transform:
capitalize:
将每个单词的第一个字母转换成大写
uppercase:
将每个单词转换成大写
lowercase:
将每个单词转换成小写 5.white-space:
pre-wrap:
用等宽字体显示预先格式化的文本,不合并文字间的空白距离,当文字碰到边界时发生换行。
pre-line:
保持文本的换行,不保留文字间的空白距离,当文字碰到边界时发生换行。 6. writing-mode 书写格式 -webkit-writing-mode:vertical-rl;
writing-mode:tb-rl; horizontal-tb:
水平方向自上而下的书写方式。即 left-right-top-bottom(类似IE私有值lr-tb)
vertical-rl:
垂直方向自右而左的书写方式。即 top-bottom-right-left(类似IE私有值tb-rl)
vertical-lr:
垂直方向自左而右的书写方式。即 top-bottom-left-right
lr-tb:
左-右,上-下。对象中的内容在水平方向上从左向右流入,后一行在前一行的下面。 所有的字形都是竖直向上的。这种布局是罗马语系使用的(IE)
tb-rl:
上-下,右-左。对象中的内容在垂直方向上从上向下流入,自右向左。后一竖行在前一竖行的左面。全角字符是竖直向上的,半角字符如拉丁字母或片假名顺时针旋转90度。这种布局是东亚语系通常使用的(IE) 7.文本溢出
text-overflow:
clip:
当内联内容溢出块容器时,将溢出部分裁切掉。
ellipsis:
当内联内容溢出块容器时,将溢出部分替换为(...)。
五、CSS3选择器
所谓选择器是对这一类的全部都可以进行选择使用。
1.通配选择器
[id*=div]{ /*只要id有div的都可以被改变颜色*/
color:yellow;
}
[id^=div]{ /*只要id开头是div都被改变颜色*/
color:green;
}
[id$=y]{ /*只要id开头是y都被改变颜色*/
color:red;
} 2. div ~ p{
color:red;
}
同级div下面的p标签则被修改样式
例:
<div id="div1">
示例1 <div id="div2">
<h1>示例2</h1>
<p>fas</p>
<p>fas</p>
<p>fas</p>
</div>
<p>fas</p>
<p>fas</p>
<p>fas</p>
</div> 3. 可以设置p标签前面的首字母为红字
p:first-letter{
color:red;
}
也可以让li前后部分内容添加进去
li:before{
content:"这个是首部";
color:blue;
}
li:after{
content:"这里是尾部了";
color:green;
font-size:13px;
} 4.
<!-- root根元素 -->
:root{
background:#ccc;
}
/* not 除了哪个标签没有这个样式*/
div *:not(h1){
color:red;
}
/* empty 空元素补充样式*/
:empty{
background-color:yellow;
}
a:visited{color:blue;}
/* target 找到对象然后显示样式*/
:target{
background-color:orange;
} 5. /* first-child*/
li:first-child{
background:yellow;
}
/* last-child*/
li:last-child{
background:red;
}
/* nth-child(position) 根据子元素位置来选*/
li:nth-child(3){
background:green;
}
li:nth-last-child(2){
background:blue;
}
li:nth-last-child(odd){
/*设置为奇数显示颜色*/
background:orange;
}
li:nth-last-child(even){
/*设置为偶数显示颜色*/
background:green;
}
li:nth-last-child(even):hover{ /*还可以加伪类*/
/*设置为偶数显示颜色*/
color:blue;
} 注意:odd为奇数 even为偶数 6.
/* nth-of-type 只计算同类的第几个 */
h2:nth-of-type(odd){
background-color:yellow;
}
h2:nth-of-type(even){
background-color:red;
}
p:nth-last-of-type(odd){
background-color:orange;
} 7.让第几行有样式
<!--
nth-child(n)
an+b
意思是看你x列重复一次,则a为x
b则以此从0到n
-->
/* li:nth-child(5n+1){
background-color:aqua;
}
li:nth-child(5n+2){
background:#ccc;
}
li:nth-child(5n+3){
background:orange;
}
li:nth-child(5n+4){
background:blue;
}
li:nth-child(5n){
background:red;
}*/
/* only-child */
li:nth-child(1){
background-color: blue;
}
li:only-child{
/* 只有当ul li中只有li一个时候才会显示背景颜色*/
background-color: red;
} 8.
/* hover,foucs,active */
input[type="text"]:hover{
background:yellow;
}
input[type="text"]:focus{/*focus是焦点的意思*/
background:red; /*点击会变色*/
}
input[type="text"]:active{
background:blue;/*按住会变色*/
}
input[type="checkbox"]:checked{
outline:2px solid blue; /*可以有外边框*/
}
/* enabled,disabled */
input[type="text"]:enabled{
background-color:gold;
}
input[type="text"]:disabled{
/*
disabled 残废的,残疾的
enabled 激活的
*/
background-color:#666;
}
六、CSS3中的变形处理
这个是很常用的对图形进行修饰。
1.
/*旋转 缩放 移动 倾斜*/
/*旋转
transform:rotate(45deg);
-webkit-transform:rotate(45deg);
*/
/* 缩放
transform:scale(1,5);
-webkit-transform:scale(1,5);
*/
/*倾斜
transform:skew(30deg,30deg);
-webkit-transform:skew(30deg,30deg);
*/
/*移动*/
transform:translate(0px,250px);
-webkit-transform:translate(0px,250px);
示例:
-webkit-transform:translateX(-100%);
transform:translateX(-100%); 2.图形变换基准点
transform-origin:right bottom; 3.图形变形处理可以合在一起写
transform:rotate(200deg) scale(2.5) skew(210deg,100deg);
七、伪类选择符
这个伪类样式很常用。
1.类型聚焦
E:focus { sRules }
input:focus{
background: #f6f6f6;
color: #f60;
border: 1px solid #f60;
outline: none;
} 2.除了这个没有 其他都有这个样式
E:not(s) { sRules }
p:not(.abc) {
color: #f00;
} 3.根属性
E:root { sRules }
html:root .test {
color: purple\0;
}
八、CSS3颜色渐变效果
1.颜色渐变
background-image:linear-gradient(to left, red, orange,yellow,green,blue,indigo,violet); 示例:
background-image:-webkit-linear-gradient(
rgba(41,41,41,0.75) 0%,
rgba(54,54,54,0.72) 50%,
rgba(24,23,23,0.94) 51%); 2.颜色渐变属性:
background:-webkit-gradient(
linear,left top,right bottom,from(#6cc3fe),to(#21A1D0)); 小知识点:
1.当需要对一些属性进行隐藏的时候可以用:overflow:hidden; 然后再对这个框用hover伪类进行设置left:0(隐藏前需要用到postion:absolute;left-width(对应的宽);)。然后就可以用hover进行显示内容框了。 2.也可以用display:none;(一开始让它显示的时候什么属性都没有);
然后当鼠标放上去的时候把它变成块 display:block;(然后就可以通过伪类加一个 height:0(没有高度就消失)等效果了。) 3.关于用label标签,可以用for="相对应id" 控制某个元素,拥有同样的css
而 ~ 可控制关联div 拥有同样的css样式 4.制作180度图片旋转换文字特效技巧:
<div id="all">
<div class="rotate">
<img src="">
<div class="wz">
文字内容
</div>
</div>
</div> 当要旋转的时候:
文字需要旋转180度,
rotate部分需要旋转180,(需要过度效果还要用到transition)
样式这样写: .con:hover .rotate{}
综上的全部都是很常用的CSS3样式修饰文本。其实CSS3可以通过看手册快速上手,所以很容易掌握。
笔记链接:http://pan.baidu.com/s/1qYdQdKK 密码:pvj2
CSS3的使用方法解析的更多相关文章
- win7中VS2010中安装CSS3.0问题解决方法
win7中VS2010中安装CSS3.0问题解决方法 在安装Standards Update for VS2010 SP1后,VS2010中没有CSS3.0问题,以下是我的解决方法 1.首先去官网 ...
- Python的方法解析顺序(MRO)[转]
本文转载自: http://hanjianwei.com/2013/07/25/python-mro/ 对于支持继承的编程语言来说,其方法(属性)可能定义在当前类,也可能来自于基类,所以在方法调用时就 ...
- sqlalchemy mark-deleted 和 python 多继承下的方法解析顺序 MRO
sqlalchemy mark-deleted 和 python 多继承下的方法解析顺序 MRO 今天在弄一个 sqlalchemy 的数据库基类的时候,遇到了跟多继承相关的一个小问题,因此顺便看了一 ...
- iOS 详解NSXMLParser方法解析XML数据方法
前一篇文章已经介绍了如何通过URL从网络上获取xml数据.下面介绍如何将获取到的数据进行解析. 下面先看看xml的数据格式吧! <?xml version="1.0" enc ...
- 四种方法解析JSON数据
(1)使用TouchJSon解析方法:(需导入包:#import "TouchJson/JSON/CJSONDeserializer.h") //使用TouchJson来解析北京的 ...
- Method Resolution Order – Python类的方法解析顺序
在支持多重继承的编程语言中,查找方法具体来自那个类时的基类搜索顺序通常被称为方法解析顺序(Method Resolution Order),简称MRO.(Python中查找其它属性也遵循同一规则.)对 ...
- 【Android 多媒体开发】 MediaPlayer 状态机 接口 方法 解析
作者 : 韩曙亮 转载请著名出处 : http://blog.csdn.net/shulianghan/article/details/38487967 一. MediaPlayer 状态机 介绍 ...
- 2019-2-20C#开发中常用加密解密方法解析
C#开发中常用加密解密方法解析 一.MD5加密算法 我想这是大家都常听过的算法,可能也用的比较多.那么什么是MD5算法呢?MD5全称是 message-digest algorithm 5[|ˈmes ...
- C#中用DateTime的ParseExact方法解析日期时间(excel中使用系统默认的日期格式)
最近做的项目中服务器是英文的系统,系统需要通过excel的单元格导入日期,excel中的日期格式是系统默认的日期格式,如下图所示 以上日期格式,会跟着操作系统设置的日期格式相同例如我的中文系统的日期格 ...
随机推荐
- 【NLP】3000篇搜狐新闻语料数据预处理器的python实现
3000篇搜狐新闻语料数据预处理器的python实现 白宁超 2017年5月5日17:20:04 摘要: 关于自然语言处理模型训练亦或是数据挖掘.文本处理等等,均离不开数据清洗,数据预处理的工作.这里 ...
- 与64位版本的Windows不兼容,masm运行不了
问题: 在Window64位运行不了的masm 解决方法: 1.下载DosBox0.74(当前最新): 2.安装后运行,运行后出现控制台: 3.在DosBox的控制台下运行 Mount x: x:/m ...
- 如何使用angular-ui的弹出框
在开发项目时,我们经常性的会遇到弹出框的需求,例如登陆,注册,添加信息等等....面对这一需求,我们当然也可以使用自己的双手进行编写,如果你时间充足可以试试. 今天我们讲解一下如何在angular框架 ...
- DTCMS插件的制作实例电子资源管理(三)前台模板页编写
总目录 插件目录结构(一) Admin后台页面编写(二) 前台模板页编写(三) URL重写(四) 本实例旨在以一个实际的项目中的例子来介绍如何在dtcms中制作插件,本系列文章非入门教程,部分逻辑实现 ...
- 属于自己的MES(一)概念
什么叫MES(生产制造执行系统)? 从几个方面来简单说下: 1.定位 没有MES前的工厂生产模式,公司MRP系统与生产现场之间透过人为方式沟通,使生产现场如同黑箱作业,无法掌握实时正确信息. MES的 ...
- 在Ubuntu下永久修改主机名
一. deb/ubuntu上永久修改 : 查看主机名: 修改主机名: 重启后生效 ---------------------------------------------------------- ...
- Oracle 12C 新特性之非分区表转分区表online clause(不停业务+索引有效)
12c以前非分区表需要转换为分区, 如果不停业务的话可以使用在线重定义,只有在表进行切换的时候会有短暂的锁表. 12c 中alter table online clause 实现了表上现有的索引有效, ...
- EF Core 2.0 新特性
前言 目前 EF Core 的最新版本为 2.0.0-priview1-final,所以本篇文章主要是针对此版本的一些说明. 注意:如果你要在Visual Studio 中使用 .NET Core 2 ...
- 【JAVAWEB学习笔记】07_BootStrap、Viewport介绍
今天主要学习了BootStrap,viewport的介绍和最后对网站进行了重构 今天晨读单词: Compatible:兼容性 viewport:视口 device:设备 initial:初始化(缩写i ...
- JDFS:一款分布式文件管理实用程序第一篇(线程池、epoll、上传、下载)
一 前言 截止目前,笔者在博客园上面已经发表了3篇关于网络下载的文章,这三篇博客实现了基于socket的http多线程远程断点下载实用程序.笔者打算在此基础上开发出一款分布式文件管理实用程序,截止目前 ...