css3特性简要概括
---恢复内容开始---
css3新增核心知识 背景和边框 文本效果 2d/3d转换 过渡和动画 多列布局 弹性盒模型 媒体查询 增强选择器 css3浏览器兼容性 css3在线工具 css3generator http://css3generator.com/ https://www.colorzilla.com/gradient-editor/ https://css-tricks.com/examples/ButtonMaker/ border-radius:15px 25px 35px 45px; 左上角,右上角,右下角,左下角 css3阴影: box-shadow:h-shadow v-shadow blur color 设置背景图片: background-image(允许设置多个背景图片) clip origin size background-image:url(shixun.png),url(bg.png); position:right top,left top repeat:no-repeat,repeat origin 文本: text-shadow word-wrap:换行 break-word 强制换行 text-overflow :设置文本内容溢出时控制规则 word-break white-space:nowrap; overflow:hidden; text-overflow:ellipsis css3 选择器 https://www.caniuse.com/ 新增选择器: 属性选择器 [^:开头 $结尾 ~其中有一个] 伪类选择器:first-child nth-child(1) first-of-type 匹配同类型中的第一个同级兄弟元素E 伪元素选择器::: 已经不局限使用样式选择器,对内容进行操作 E::before 配合content使用 E::after 配合content使用 E::first-letter 第一个字母 E::first-line 设置元素第一行的样式 E::selection 设置元素被选中的样式 2019/7/17 css3 过渡:将元素从一种状态转变为另一种状态(简单的动画效果) transition-property 设置过渡属性(效果) transition-duration 设置过渡效果持续时间(n ms内完成) transition-timing-function 设置过渡效果时间曲线 transition-delay 设置过渡效果开始时间(延迟) transition:property duration timing-function delay transition:width 2s linear 1 css3动画 利用@keyframes 创建高级动画效果 @keyframes 设置动画效果 animation 执行动画动作(简写形式) animation-name 设置@keyframes动画的名称 animation-duration 设置动画完成一个周期所花费的毫秒 2019/7/18 css3 2d转换 transform 转换方法名称 transform:rotate(9deg); -webkit-transform:rotate(9deg); ..... transform:scale(2,0.5) 缩放 transfrom:translate(200px,50px);移动 //第一个参数left,二top transform:skew(20deg,20deg);//第一个参数围绕x,第二个围绕y轴 css3 3d 转换 rotatex() rotateY() scalex() scaley() css3 媒体查询介绍---实现自适应布局 背景:针对不同的访问设备呈现不同的布局效果 在css3中利用媒体查询技术可以实现页面的“自适应布局” 响应式布局|| 自适应布局 响应式布局: 一套布局适应不同设备 自适应布局: 根据分辨率的不同,界面有会调整 查询实现的方法: @media 第一种方式 @media 类型 and (条件1) and (条件2) { ...css样式定义 } @media screen and (min-width:375px) and (max-width:980px) { body { } } 第二种:@importt 导入制定css /*当屏幕可视窗口尺寸 <=980 px 像素时导入default.css文件*/ @import url("default.css") screen and (max-width:980px); 第三种:在link标签中导入指定css default.css index.html <link href="default.css" media="screen and (max-width:980px)"/>
1.过渡
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> div { width:200px; height:100px; background: #ccc; transition-property:width; transition-duration:2s; transition-timing-function:linear; transition-delay:1s; } div:hover { width:500px; } </style> </head> <body> <div>hello world!</div> </body> </html>
2.动画:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> div { width:200px; height:100px; background: #ccc; animation-name: animation-1; animation-duration: 2s; animation-iteration-count: infinite; /*定义动画播放的次数*/ animation-direction: alternate; animation-play-state: running; } @keyframes animation-1 { from { background:yellow; } to { background:blue; } } </style> </head> <body> <div>hello world!</div> </body> </html>
3.用media做的自适应布局
html:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <link rel="stylesheet" href="main.css"> </head> <body> <div> <header> <ul> <li>导航1</li> <li>导航2</li> <li>导航3</li> <li>导航4</li> <li>导航5</li> </ul> </header> <article> <section>内容1</section> <section>内容2</section> <section>内容3</section> </article> <footer class="footer"> 底部 </footer> </div> </body> </html>
css:
* { margin: 0; padding: 0; } div { width:1200px; text-align: center; line-height: 50px; font-size: 30px; margin: 0 auto; color:#fff; } header { background: red; height:50px; } header ul { width:100% } header ul>li { width:20%; float: left; list-style: none; font-size:none; border-right:4px solid #fff; box-sizing: border-box; } article { width:100%; height:300px; border-top: 5px solid #fff; border-bottom: 5px solid #fff; } section:first-child { width:20%; height:300px; border-right:5px solid #fff; background:red; float:left; box-sizing: border-box; } section:nth-child(2){ width:60%; height:300px; border-right:5px solid #fff; background:green; float:left; box-sizing: border-box; } section:last-child { width:20%; height:300px; background:blue; float:left; box-sizing: border-box; } footer { width:100%; background: pink; } @media screen and (max-width:980px){ section:last-child { display:none; } section:first-child { width:40%; box-sizing: border-box; } section:nth-child(2){ width:60%; box-sizing: border-box; border:none; } } @media screen and (max-width:640px) { header, footer { display: none; } section:first-child, section:nth-child(2), section:last-child { width: 100%; display: block; float:none; border:none; } }
1.结果
1.屏幕大于980px
2.大于640px 小于980px
3.小于640px:
---恢复内容结束---