美文网首页
王者荣耀匹配确认界面CSS3总结

王者荣耀匹配确认界面CSS3总结

作者: 零基础的前端菜鸡 | 来源:发表于2019-10-06 11:54 被阅读0次

近期因为自己想做一个项目的登陆界面,想要实现一些效果,然后在打游戏的时候看到了王者荣耀匹配的界面效果很不错,所以在百度上找了一下实现的代码,也跟着敲了一下,顺便能够让我这个菜鸡熟悉一下一些 CSS 的属性。代码资源是百度上有的,但有小小的修改,在此感谢提供代码的博主。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="{CHARSET}">
        <title></title>
    </head>
    <style type="text/css">
        html{
            font-size: 16px;
        }
        .group{
            position: relative;
            width: calc((100% - 13rem)/2);
            top: 50%;
            transform: translate(0,-50%);
        }
        .group1{
            text-align: right;
            float: left;
        }
        .group2{
            text-align: left;
            float: right;
        }
        .group1 div,.group2 div{
            position: relative;
            width: 4rem;
            height: 4rem;
            display: inline-block;
            background: url('img/头像.png');
            background-size: cover;
            border: .3rem solid #55A9EF;
            box-shadow: 0 0 .8rem #88C0F0;
            color: #fff;
        }
        .group1 div::before,.group1 div::after,
        .group2 div::before,.group2 div::after{
            position: absolute;
            content: '';
            top: 0;
            bottom: 0;
            left: 0;
            right: 0;
            margin: -8%;
            box-shadow: inset 0 0 0 .3rem;
            animation: clipMe 6s linear infinite;
        }
        .group1 div::before,
        .group2 div::before{
            animation-delay: -3s;
        }
        @keyframes clipMe{
            0%,
            100%{
                clip: rect(0, 4.8rem, 4.8rem, 4.3rem);
            }
            25%{
                clip: rect(0px, 4.8rem, .3rem, 0);
            }
            50% {
                clip: rect(0, .3rem, 4.8rem, 0);
            }
            75% {
                clip: rect(4.3rem, 4.8rem, 4.8rem, 0rem);
            }
         }
        .king{
            position: relative;
            height: 25rem;
            width: 100%;
            background: radial-gradient(circle,#ccc,#161d4f 85%);
        }
        .player-layout{
            position: relative;
            height: 8rem;
            width: 100%;
            background: linear-gradient(to right,#212f46,#212f4670,#212f46);
            top: 50%;
            transform: translate(0,-50%);
            z-index: 10;
        }
        .center{
            position: absolute;
            height: 8rem;
            width: 8rem;
            top: 50%;
            left: 50%;
            transform: translate(-50%,-50%)rotate(45deg);
            background: linear-gradient(90deg, #212f46, #5b99ff); 
            border: .3rem solid #55a9ef; 
            box-shadow: 0px 0px .8rem #88c0f0; 
            padding: .2rem;
        }
        .center img{
            width: 100%;
            height: 100%;
        }
        .matrix{
            position: absolute;
            height: 16.7rem;
            width: 16.7rem;
            top: 50%;
            left: 50%;
            transform: translate(-50%,-50%)rotate(45deg);
            z-index: 1;
            border: .1rem solid #7499D7;
            padding: .4rem;
        }
        .border1,.border2{
            position: absolute;
            height: 16.7rem;
            width: 16.7rem;
            text-align: center;
            font-size: 14px;
        }
        .border1::before,.border1::after,
        .border2::before,.border2::after{
            position: absolute;
            display: block;
            width: 100%;
            height: 2.5rem;
            color: #fff;
            background: linear-gradient(to top, #212f4602, #7499d7);
            animation: text-an 1.5s linear infinite;
        }
        @keyframes text-an{
            0%{
                text-shadow: 0 0 0 #FFFFFF;
            }
            100%{
                text-shadow: 0 -6rem .4rem #FFFFFF10;
            }
        }
        .border1::before{
            content: 'HelloWorld';
        }
        .border1::after{
            bottom: 0;
            content: 'GoodMorning';
            transform: rotate(180deg);
        }
        .border2{
            transform: rotate(90deg);
        }
        .border2::before{
            content: 'GGstudy';
        }
        .border2::after{
            bottom: 0;
            content: 'DayDayup';
            transform: rotate(180deg);
        }
    </style>
    <body>
        <div class="king">
            <div class="player-layout">
                  <div class="group group1">
                    <div class="player1 palyer"></div>
                    <div class="player2 palyer"></div>
                    <div class="player3 palyer"></div>
                    <div class="player4 palyer"></div>
                    <div class="player5 palyer"></div>
                  </div>
                  <div class="group group2">
                    <div class="player6 palyer"></div>
                    <div class="player7 palyer"></div>
                    <div class="player8 palyer"></div>
                    <div class="player9 palyer"></div>
                    <div class="player10 palyer"></div>
                  </div>
                <div class="center">
                    <img src="img/头像.png"/>
                </div>
            </div>
            <div class="matrix">
                <div class="border1"></div>
                <div class="border2"></div>
            </div>
        </div>

    </body>
</html>
一些在学习过程中翻书及百度学习的东西######

1、linear-gradient()线性渐变函数
语法:linear-gradient( direction, color-stop1, color-stop2...)
direction:渐变方向,可以方向也可以是角度
color-stop:起止颜色,可多个

2 、radial-gradient()径向渐变函数
语法:radial-gradient( shape , size, direction, start-color, ..., stop-color )
shape:渐变形状,包含两个值 ellipse(椭圆,默认值)和 circle(圆)
除此之外,还可以用两个参数值确定圆心位置(分别为 x, y 值),例如radial-gradient( 100px 20px / 50% 40% , ... )

size:渐变半径(指定半径长度),包含四个值,
farthest-corner(默认):从圆心到离圆心最远的角
nearest-corner:从圆心到离圆心最近的角
farthest-side:从圆心到离圆心最远的边
nearest-side:从圆心到离圆心最近的边

direction:渐变的开始位置,包含三个值
center:中间为径向渐变圆心的纵坐标值
top:顶部为径向渐变圆心的纵坐标值
bottom:底部为径向渐变的纵坐标值

start-color,...,stop-color:起止颜色,可多个

3、calc()函数
calc() 函数能够计算 <div> 元素宽度,支持 “+”,“-”,“*”,“/”四种运算
在本例中使用的区域:

.group{
    ...
    width: calc((100% - 13rem)/2);
    ...
}

“100%” 是其父级的宽度,“13rem” 是中间大菱形所占宽度,“/2” 之后将平均分配两个宽度

4、clip 剪辑属性
指定一个绝对定位的元素,该尺寸应该是可见的,该元素被剪裁成这种形状并显示。
注意:一定要有绝对定位(position:absolute),其次,若在此之前先有overflow:visible则 clip 属性不生效。另外,clip属性可以设置裁剪框 rect(top, right, bottom, left) 或 不进行裁剪 auto,并且clip属性只能设置 rect() 矩形框。

5、text-shadow属性
包含四个值:
h-shadow:必填。水平位置阴影,可负。
v-shadow:必填。垂直位置阴影,可负。
blur:选填。模糊距离。
color:选填,阴影颜色。

box-shadow 中多两个值分别是spread(阴影大小) 和 inset(3D边框),但是一般比较常用的用法还是与 text-shadow 用法一致

最后,记录一下今天看了一个短视频的心情:即使年少时再多棱角,经历过社会以及生活之后也会变得圆滑。

相关文章

  • 王者荣耀匹配确认界面CSS3总结

    近期因为自己想做一个项目的登陆界面,想要实现一些效果,然后在打游戏的时候看到了王者荣耀匹配的界面效果很不错,所以在...

  • 王者荣耀20190809

    今日份王者荣耀 抱大腿,小鲁班,匹配赛,赢了✌️

  • 王者荣耀

    最近迷王者荣耀,迷到不行,怎么办,一有空闲时间就打王者,王者,排位,匹配!!!! 王者荣耀可以说是近期最火的手游了...

  • 王者荣耀

    刚下载王者荣耀的教程和一场匹配赛

  • 王者荣耀赏金机制揭秘

    很多小伙伴表示王者荣耀赏金赛特别坑人,王者荣耀赏金联赛不同于排位和匹配,它是一宗特殊的存在,很多人匹配到的对手的段...

  • 《王者荣耀》你早就该知道三个博弈

    最近在玩《王者荣耀》,目前18级,段位黄金二,属于才开始的级别。 发现《王者荣耀》是这样的一个游戏: 通过匹配制度...

  • 王者荣耀

    现实版的爱情就像王者荣耀里的匹配赛和排位赛……

  • CSS3实现王者荣耀匹配人员加载页面

    玩过王者的应该都熟悉,这个页面的效果。为什么要实现这个效果了? 第一:王者这么火,电竞这么火。 第二:主要还是来学...

  • CSS3实现王者荣耀匹配人员加载页面

    玩过王者的应该都熟悉,这个页面的效果。为什么要实现这个效果了? 第一:王者这么火,电竞这么火。第二:主要还是来学习...

  • 如何从王者小白变成大神

    王者荣耀刚打的火热的时候,我也开始进驻王者荣耀。起初就是打发时间,一直打匹配,到后来集齐五个英雄后就去打排位了,越...

网友评论

      本文标题:王者荣耀匹配确认界面CSS3总结

      本文链接:https://www.haomeiwen.com/subject/cyaluctx.html