zoukankan      html  css  js  c++  java
  • 14.纯 CSS 创作一种侧立图书的特效

    原文地址:https://segmentfault.com/a/1190000014751037

    HTML代码:

    <div class="books">
         <div class="book html">
              <span>HTML</span>
         </div>
         <div class="book css">
              <span>CSS</span>
         </div>
         <div class="book js">
              <span>JavaScript</span>
         </div>
    </div>

    CSS代码:

    html, body {
        margin: 0;
        padding: 0;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        background: linear-gradient(to top left,white,dimgray);
    }
    /* 3本书布局 */
    .books{
        display: flex;
        width: calc(12rem * 3 + 3rem * 2);
        justify-content: space-between;
        margin-top: 6rem;
    }
    .book:nth-child(2){
        top: -3rem;
    }
    .book:nth-child(3){
        top: -6rem;
    }
    /* 画出书的正面 */
    .book{
        position: relative;
        width: 12rem;
        height: 18rem;
        transform: skewY(-10deg);
        background: linear-gradient(navy, deeppink, tomato);
        /* 给图书加阴影,让它显得更立体 */
        box-shadow: -10px 5px 30px rgba(0,0,0,0.5);
        transition: 0.3s;
    }
    /* 画出书的侧面 */
    .book::before{
        content: '';
        position: absolute;
        width: 1.5rem;
        height: 100%;
        background: linear-gradient(navy, deeppink, tomato);
        top: 0;
        left: -1.5rem;
        transform: skewY(45deg);
        transform-origin: right;
        filter: brightness(0.6);
    }
    /* 画出书的顶面 */
    .book::after{
        content: '';
        position: absolute;
        width: 100%;
        height: 1.5rem;
        background: white;
        top: -1.5rem;
        left: 0;
        transform-origin: bottom;
        transform: skewX(45deg);
        filter: brightness(0.9);
    }
    /* 设置文字样式 */
    .book span{
        position: absolute;
        font-size: 2.2rem;
        font-family: sans-serif;
        width: 100%;
        height: 8rem;
        display: block;
        text-align: center;
        margin-top: 5rem;
        padding-top: 2rem;
        box-sizing: border-box;
        text-shadow: -2px 2px 10px rgba(0,0,0,0.3);
        background: silver;
    }
    /* 画出文字侧面,与画图书侧面的方法相似 */
    .book span::before{
        content: '';
        position: absolute;
        width: 1.5rem;
        height: 100%;
        background: silver;
        top: 0;
        left: -1.5rem;
        transform-origin: right;
        transform: skewY(45deg);
        filter: brightness(0.6);
    }
    /* 文字下增加一行小字号文字 */
    .book span::after{
        display: block;
        font-size: 1rem;
    }
    /* 3本书配色 */
    .book.html span,
    .book.html span::before {
        background: orange;
    }
    .book.css span,
    .book.css span::before {
        background: yellowgreen;
    }
    .book.js span,
    .book.js span::before {
        background: royalblue;
    }
    /* 设置 3 本书的小字号文字 */
    .book.html span:after {
        content: '<devolopment />';
    }
    .book.css span::after {
        content: '.devolopment::';
    }
    .book.js span::after {
        content: '{ devolopment }';
    }
    /* 为图书增加鼠标划过效果 */
    .book:hover {
        margin-top: -1.5rem;
    }
    作者:人生与戏
    本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。
  • 相关阅读:
    Perl 简介
    一定时间后延时变长问题
    CPAN常见问题集
    J2SE简介
    brian的Perl问题之万能指南
    清洁工 VS 亿万富翁
    关于VC中的"stdafx.h"
    Perl模式匹配
    wiki介绍
    生活中10大省钱小秘诀 白领一族"必备诀窍"
  • 原文地址:https://www.cnblogs.com/FlyingLiao/p/10231174.html
Copyright © 2011-2022 走看看