console
window.addEventListener('load', function () {
var goBack = document.querySelector('.goBack');
window.addEventListener('scroll', function () {
if (window.pageYOffset >= 100) {
goBack.style.display = 'block';
} else {
goBack.style.display = 'none';
}
});
goBack.addEventListener('click', function () {
window.scroll(0, 0);
});
})
<body>
<div class="page">
<div class="inner">
<div class="cont">
<div class="goBack"></div>
<h1 class="title"><span>CSS3 过渡(重点)</span></h1>
</div>
<div class="cont">
<div class="w">
<h3>
<span></span>
<span>什么是过渡效果</span>
</h3>
<p><strong>过渡(transition)</strong>是CSS3中具有颠覆性的特征之一,可以在不适用Flash动画或JS的情况下,在元素样式变换时添加效果</p>
<p><strong>过渡动画:</strong>从一个状态渐渐过渡到另一个状态</p>
<p><strong>目的:</strong>页面更好看,更具动感,即使低版本浏览器不支持,但不影响页面布局</p>
<p><strong>特点:</strong>经常和<code>:hover</code>一起搭配使用(鼠标经过、过渡样式)</p>
</div>
<div class="w">
<h3>
<span></span>
<span>过渡属性</span>
</h3>
<div class="table-box">
<table>
<thead>
<tr>
<th>属性</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://www.w3school.com.cn/tiy/t.asp?f=eg_css3_transition-property" target="_blank"><code>transition-property</code></a></td>
<td>规定过渡效果所针对的 CSS 属性的名称</td>
</tr>
<tr>
<td><a href="https://www.w3school.com.cn/tiy/t.asp?f=eg_css3_transition-duration" target="_blank"><code>transition-duration</code></a></td>
<td>规定过渡效果要持续时间</td>
</tr>
<tr>
<td><a href="https://www.w3school.com.cn/tiy/t.asp?f=css3_transition_speed" target="_blank"><code>transition-timing-function</code></a></td>
<td>规定过渡效果的运动曲线</td>
</tr>
<tr>
<td><a href="https://www.w3school.com.cn/tiy/t.asp?f=css3_transition_delay" target="_blank"><code>transition-delay</code></a></td>
<td>规定过渡效果的延迟(以秒计)</td>
</tr>
<tr>
<td><a href="https://www.w3school.com.cn/tiy/t.asp?f=css3_transition_4" target="_blank"><code>transition</code></a></td>
<td>规定过渡效果的简写属性</td>
</tr>
</tbody>
</table>
</div>
<ul>
<li><p>要过渡的属性:想要变化的属性,宽高、背景、内往外边距都可以,all表示所有属性都变化过渡</p></li>
<li><p>花费时间:单位是秒,比如0.5s</p></li>
<li><p>运动曲线:默认是ease(可省)【linear、ease、ease-in、ease-out、ease-in-out】</p></li>
<li><p>开始时间:单位是秒,可设置触发延迟时间默认是0s(可省)</p></li>
</ul>
</div>
<div class="w">
<h3>
<span></span>
<span>过渡简写属性</span>
</h3>
<p><strong>语法:</strong><code>transaction</code>(谁来变化给谁加)</p>
<blockquote>
<p class="t9">transaction: 要过渡的属性 花费时间 运动曲线 何时开始</p>
</blockquote>
<p><strong>过渡口诀:</strong>谁做过渡给谁加</p>
<pre>
<<span class="t0">style</span>>
<span class="t1">div</span> {
<span class="t2">width</span>: <span class="t3">200px</span>;
<span class="t2">height</span>: <span class="t3">100px</span>;
<span class="t2">background-color</span>: <span class="t4">pink</span>;
<span class="t9">/* transition:变化的属性 花费的时间 运动曲线 何时开始 */</span>
<span class="t2">transition</span>: <span class="t4">width 1s ease .5s</span>;
}
<span class="t1">div</span><span class="t5">:hover</span> {
<span class="t2">width</span>: <span class="t3">400px</span>;
}
<<span class="t0">/style</span>>
<<span class="t0">body</span>>
<<span class="t1">div</span>><<span class="t1">/div</span>>
<<span class="t0">/body</span>>
</pre>
<div class="demo">过渡效果</div>
<p><strong>多个过渡效果:</strong>中间用<b>"逗号"</b>隔开</p>
<pre>
<<span class="t0">style</span>>
<span class="t1">div</span> {
<span class="t2">width</span>: <span class="t3">200px</span>;
<span class="t2">height</span>: <span class="t3">100px</span>;
<span class="t2">background-color</span>: <span class="t4">pink</span>;
<span class="t9">/* transition:变化的属性 花费的时间 运动曲线 何时开始 */</span>
<span class="t9">/* 多个过渡效果中间用逗号隔开 */</span>
<span class="t9">/* transition: width 1s ease .5s, height 1s ease .5s */</span>
<span class="t9">/* 多个过渡效果都变化,属性写all即可 */</span>
<span class="t9">/* 谁做过渡给谁加 */</span>
<span class="t2">transition</span>: <span class="t4">all 1s ease .5s</span>;
}
<span class="t1">div</span><span class="t5">:hover</span> {
<span class="t2">width</span>: <span class="t3">400px</span>;
<span class="t2">height</span>: <span class="t3">200px</span>;
}
<<span class="t0">/style</span>>
<<span class="t0">body</span>>
<<span class="t1">div</span>><<span class="t1">/div</span>>
<<span class="t0">/body</span>>
</pre>
<div class="demo1">多个过渡效果</div>
</div>
</div>
</div>
</div>
</body>
* {
margin: 0;
padding: 0;
outline: 0;
box-sizing: border-box;
}
.fl {
float: left;
}
.fr {
float: right;
}
.clear:after {
visibility: hidden;
clear: both;
display: block;
content: '';
height: 0
}
.clear {
*zoom: 1;
}
a {
color: #333;
text-decoration: none;
}
i,
em {
font-style: normal;
}
i {
color: #c81623;
}
b {
color: #135ce0;
}
strong {
color: #373737;
}
img {
border: 0;
vertical-align: middle;
}
input {
outline: none;
}
button {
cursor: pointer;
}
div.goBack {
display: none;
position: fixed;
bottom: 22px;
left: 50%;
transform: translateX(-50%);
margin-left: 358px;
width: 26px;
height: 26px;
background: url(https://g.csdnimg.cn/side-toolbar/3.4/images/fanhuidingbucopy.png) no-repeat;
background-size: cover;
z-index: 999;
}
html {
-webkit-text-size-adjust: 100%;
}
body {
font-family: system-ui,-apple-system,BlinkMacSystemFont,Helvetica Neue,PingFang SC,Hiragino Sans GB,Microsoft YaHei UI,Microsoft YaHei,Arial,"\5B8B\4F53",sans-serif;
-webkit-font-smoothing: antialiased;
-webkit-appearance: none;
-webkit-tap-highlight-color: rgba(0,0,0,0);
text-underline-position: under;
text-decoration-skip-ink: none;
background-color: #fff;
}
.page {
position: relative;
word-wrap: break-word;
hyphens: auto;
background-color: #fff;
padding: calc(10px + env(safe-area-inset-top)) calc(20px + env(safe-area-inset-right)) 0 calc(20px + env(safe-area-inset-left));
}
.inner {
position: relative;
max-width: 677px;
margin-left: auto;
margin-right: auto;
zoom: 1;
}
.inner .title {
font-size: 22px;
line-height: 1.4;
margin-bottom: 15px;
text-align: center;
}
.inner .title span {
padding: 0 0 10px;
border-bottom: 3px solid rgb(32, 87, 146);
}
h1, h2, h3, h4, h5, h6 {
font-weight: 700;
font-size: 16px;
}
.cont {
visibility: visible;
position: relative;
overflow: auto;
color: #222;
font-size: 17px;
word-wrap: break-word;
hyphens: auto;
text-align: justify;
z-index: 0;
}
.cont * {
max-width: 100%!important;
box-sizing: border-box!important;
-webkit-box-sizing: border-box!important;
word-wrap: break-word!important;
}
.cont .w {
position: relative;
font-size: 16px;
color: black;
margin-bottom: 15px;
padding-right: 10px;
padding-left: 10px;
word-break: break-word;
overflow-wrap: break-word;
text-align: left;
line-height: 1.25;
letter-spacing: 2px;
font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, "PingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;
visibility: visible;
border: 1px solid transparent;
}
.cont .w:last-child {
margin-bottom: 100px;
}
.cont h3 {
margin-top: 20px;
margin-bottom: 15px;
font-weight: bold;
color: #373737;
font-size: 18px;
visibility: visible;
}
.cont h3 span:nth-child(1) {
position: absolute;
left: -1px;
margin-top: 2px;
width: 4px;
height: 20px;
background-color: rgb(199, 29, 35);
border-radius: 2px;
display: block;
float: left;
visibility: visible
}
.cont h3 span:nth-child(2) {
margin-left: 0px;
line-height: 26px;
visibility: visible;
}
.cont p {
margin-left: 1px;
margin-right: 8px;
padding-top: 8px;
padding-bottom: 8px;
line-height: 26px;
font-size: 14px;
word-spacing: 2px;
color: rgb(55, 55, 55);
text-align: justify;
visibility: visible;
min-height: 1em;
}
.cont ul {
padding-left: 42px;
font-size: 14px;
}
.cont ul li p {
line-height: 35px;
word-spacing: 2px;
margin-left: 5px;
margin-right: 8px;
padding: 0;
}
.cont ol {
padding-left: 48px;
font-size: 14px;
}
.contol li p {
line-height: 35px;
word-spacing: 2px;
margin-left: -2px;
margin-right: 8px;
padding: 0;
}
.cont .table-box {
overflow-x: auto;
}
.cont table {
display: table;
width: 100%;
max-width: 600px !important;
margin: 0 auto 15px;
border-collapse: collapse;
word-break: break-word;
overflow-wrap: break-word;
font-size: 14px;
}
.cont table tr {
text-align: left;
border-top: 1px solid #dfe2e5;
}
.cont table tr td:nth-child(1) {
white-space: nowrap;
}
.cont table th {
color: #135ce0;
font-size: 17px;
white-space: nowrap;
}
.cont table th,
.cont table td {
border: 1px solid #dfe2e5;
padding: 9px 20px;
}
.cont table td p {
font-size: 14px;
font-weight: 400;
line-height: 1.5;
text-indent: 0;
margin: 0;
padding: 0;
}
.cont table td p:nth-child(n+2) {
margin: 10px 0 0 0;
}
.cont figure {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
margin: 15px auto 15px;
visibility: visible;
}
.cont figure img {
box-shadow: rgb(55 55 55 / 12%) 2px 4px 6px 0px;
border-radius: 8px;
visibility: visible !important;
height: auto !important;
width: 600px !important;
}
.cont .link {
margin: 20px 0;
}
.cont .link a {
padding: 10px 16px;
font-size: 13px;
color: white;
background-color: #e9686b;
border-radius: 8px;
}
.cont blockquote {
color: rgb(106, 115, 125);
margin: 15px 8px 20px;
padding: 16px;
border-width: 1px;
border-top-style: solid;
border-right-style: solid;
border-bottom-style: solid;
border-left: 3px solid #DBDBDB;
border-color: rgb(199, 29, 35);
border-radius: 8px;
box-shadow: rgb(199 29 35) 8px 8px 0px;
background: rgb(255, 255, 255);
}
.cont blockquote p {
font-size: 14px;
word-spacing: 2px;
line-height: 26px;
color: rgb(55, 55, 55);
text-align: left;
}
.cont pre {
margin: 10px auto 10px;
border-radius: 5px;
box-shadow: none !important;
position: relative;
overflow-x: auto;
padding: 8px 16px;
font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
font-size: 13px;
color: #abb2bf;
text-align: left;
line-height: 24px;
letter-spacing: 0px;
-webkit-overflow-scrolling: touch;
background: #272822;
white-space: pre;
}
.cont code {
font-size: 14px;
overflow-wrap: break-word;
font-family: Consolas, Monaco, Andale Mono, Ubuntu Mono, monospace;
word-break: break-all;
color: rgb(199, 29, 35);
}
.t0 {
color: #3f9cd6 !important;
}
.t1 {
color: #dcce80 !important;
}
.t2 {
color: #7cdcfe !important;
}
.t3 {
color: #b5ce9b !important;
}
.t4 {
color: #ce9178 !important;
}
.t5 {
color: #c678dd !important;
}
.t6 {
color: #ff8c00 !important;
}
.t8 {
color: #de645b !important;
}
.t9 {
color: #4a892d !important;
}
.demo {
margin-bottom: 20px;
width: 200px;
height: 100px;
font-size: 18px;
line-height: 100px;
background-color: pink;
transition: width 1s ease .5s;
}
.demo1 {
margin-bottom: 20px;
width: 200px;
height: 100px;
font-size: 18px;
line-height: 100px;
background-color: pink;
transition: width 1s ease .5s, height 1s ease .5s;
}
.demo:hover {
width: 400px;
}
.demo1:hover {
width: 400px;
height: 200px;
}
@media screen and (max-width: 500px) {
.cont .w p {
font-size: 16px;
}
.cont .w ul li p,
.cont .w ol li p {
font-size: 14px;
}
.cont ol p code,
.cont ul p code {
font-size: 14px;
}
.cont ol p a,
.cont ul p a, {
font-size: 14px;
}
.cont .w table td p {
font-size: 14px;
}
.cont .w table code {
font-size: 14px;
}
.cont .w blockquote p {
font-size: 14px;
}
.cont p code {
font-size: 16px;
}
div.goBack {
margin-left: 238px !important;
background-size: 70% 70%;
}
}