样式与特效(3)——实现一个测算页面

这次我们使用前端实现一个简单的游戏页面,理论上可以增加很多玩法,,但是这里为了加深前端的样式和JS点击事件,用该案例做练习。

  1. 首先需要掌握手机端的自适应,我们是只做手机端玩家页面 。需要允许自适应手机端页面, 用meta的view属性即可  可让玩家缩放 并且自适应手机屏幕属性。
    <meta name="viewport" content="width=device-width,initial-scale=1">

苹果手机玩家一个额外的标签:
<meta name="apple-mobile-web-app-capable" content="yes"> 是一个针对苹果设备(如 iPhone 和 iPad)的 HTML 元标签,用于提供对移动 Safari 浏览器的特定指令。这个标签的作用如下:

name="apple-mobile-web-app-capable":指定这是一个针对苹果移动设备网页应用的元数据标签。

content="yes":设置内容为 yes,表示该网页应该被视为一个 web 应用,并且可以添加到主屏幕作为一个应用图标,用户可以从主屏幕直接启动。

手机端H5需要掌握的基本属性

  1. 掌握模块居中显示 margin: 0 auto; 通常用于以下场景:
  2. 居中一个块级元素:如果你有一个块级元素(如 div),并希望它在页面上水平居中显示,可以应用这个样式。
  3. 响应式设计:在响应式布局中,margin: 0 auto; 可以确保元素在不同屏幕尺寸下都能保持水平居中。
  4. 保持布局的一致性:当元素需要在其容器内保持水平居中,而不影响垂直布局时。
  5. 在该页面里面,我们需要一个div 模块 是以指针指向的为背景,同时这个背景需要居中。我们定义一个居中的模块:
  6.        #yximg {
  7.             background: url(wenzhangku.gif);
  8.             height: 320px;
  9.             width: 320px;
  10.             margin: 0px auto;
  11.             position: relative;
  12.         }

这样就实现了图片背景居中的效果,技巧我们全部游戏的背景都是可以放入background里面的,然后将模块居中,这个时候,我们就能看到游戏开始的页面。

3.我们现在需要把箭头放入游戏盘面正中心,表示游戏开始的状态 通过我们的切图,我们可以看到 这是一个透明背景图 宽度100 长度195 我们需要定义好一个这样的div模块 然后将模块放入中央

然后可以看到 放上去是这样的显示,我们现在需要将我们的坐标开始偏移到正中央。

在背景模块里面,我们已经定位了一个背景出来,我们现在是在其对应的模块里面需要确定是正中心,所以需要用到position:absolute属性,根据测算,大约在top 55px  left:110px 的具体位置

        .jiantou {

            width: 100px;

            height: 195px;

            position: absolute;

            top: 55px;

            left: 110px;

        }

实现目标效果

这里我们用到了绝对定位 还有top  left元素具体定位具体的点

4.布局的下面是一个输入模块:
 input 是支持class的这样可以定位长宽高 还有内部字体大小,这样才能和外面的符合
  <div class="nameput">请输入你的名字:<input type="text" value="" class="name_input"></div>
  使用居中定位:,同时使得input可以接受定制的形状大小
 

        .nameput {

            text-align: center;

            margin-top: 10px;

            font-size: 18px;

        }

        .name_input {

            height: 26px;

            width: 104px;

            font-size: 18px;

            border-radius: 5px;

        }

5.按钮模块
    <!--按钮模块-->

        <div class="btn_box">

            <button class="btn">关注我们</button>

            <button class="btn">智力游戏</button>

        </div>

按钮模块: 使用flex布局, 将俩个按钮居中
     .btn_box {

            display: flex;

            justify-content: center;

            align-items: center;

            margin-top: 10px;

            margin: 0 auto;

        }

        .btn {

            font-size: 16px;

            margin: 5px;

        }

6. 推广页面: 这个和我们的新闻列表有点类似 
主要实现思路和前面一样,定义个大模块 然后再在小模块里面

这里掌握边框的技巧  边框是可以定义颜色和灰度的
 这样我就定义出了一个有灰度的实线 同时有锐角的

        .tuiguang {

            border-style: solid;

            border-width: 1px;

            border-color: #ccc;

            margin-top: 10px;

            border-radius: 10px;

        }

7.掌握 hr的属性控制  hr是可以画灰色的虚线
       .tuiguang_list hr {

            border-style: dashed;

            /* 设置边框样式为虚线 */

            border-color: #ccc;

            /* 设置边框颜色,可以根据需要调整 */

            border-width: 1px;

            /* 设置边框宽度,可以根据需要调整 */

        }

ul 当成div来使用的技巧方法:
    .tuiguang_list ul {

            margin-left: 0;

            /* 移除ul的左侧外边距 */

            padding-left: 0;

            /* 移除ul的左侧内边距,如果有的话 */

        }

        .tuiguang_list li {

            list-style: none;

            margin-top: 5px;

            font-size: 16px;

            text-align: left;

        }

清理之后,就可以看成一个个div

8.掌握将a标签变成普通文字功能  其实可以使用click事件来点击div的方式触发,但是a标签直接使用,改变a标签的属性也是一种实现方式
  a {

            color: black;

            /* 设置链接颜色为黑色 */

            text-decoration: none;

            /* 去除下划线 */

            font-weight: normal;

            /* 设置字体重量为正常 */

            font-style: normal;

            /* 设置字体风格为正常 */

        }

        a:hover {

            text-decoration: none;

            /* 鼠标悬停时显示下划线 */

        }

最后实现最开始的页面效果:

 完整代码::

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <title>测测最近有多少异性暗恋你?</title>
    <meta name="keywords" content="测测最近有多少异性暗恋你?" />
    <meta name="description" content="测测最近有多少异性暗恋你?" />
</head>

<body>
    <div class="main">
        <div class="title">测测最近有多少异性暗恋你?</div>
        <!--图片模块-->
        <div id="yximg">
            <div id="start"><img src="start.png" class="jiantou"></div>
        </div>
        <div class="nameput">请输入你的名字:<input type="text" value="" class="name_input"></div>

        <!--按钮模块-->
        <div class="btn_box">
            <button class="btn">关注我们</button>
            <button class="btn">智力游戏</button>
        </div>

        <!--推广的大模块-->
        <div class="tuiguang">
            <div class="tuiguang_title">
                <h3>↓ 更多好玩测试 ↓</h3>
            </div>
            <div class="tuiguang_list">
                <ul>
                    <li><a href="https://blog.csdn.net/weixin_43435138">测你会成为哪家公司总裁?</a>
                        <hr />
                    </li>
                    <li><a href="https://blog.csdn.net/weixin_43435138">测测年薪多少才配得上你?</a>
                        <hr />
                    </li>
                    <li><a href="https://blog.csdn.net/weixin_43435138">测测你天生是什么命?</a>
                        <hr />
                    </li>
                    <li><a href="https://blog.csdn.net/weixin_43435138">测测你前世是什么人?</a>
                        <hr />
                    </li>
                    <li><a href="https://blog.csdn.net/weixin_43435138">穿越回古代你会是谁?</a>
                        <hr />
                    </li>
                    <li><a href="https://blog.csdn.net/weixin_43435138">测你五年内会开什么车?</a>
                        <hr />
                    </li>
                    <li><a href="https://blog.csdn.net/weixin_43435138">测测你一生中最辉煌的年龄?</a>
                        <hr />
                    </li>

                </ul>


            </div>

        </div>
        <footer style="margin-top:10px; font-size:12px; color:#bbb; text-align:center;">
            郑重承诺:本页面为纯静态HTML制作,绝不收集任何用户信息!
        </footer>


    </div>
    <style>
        .main {
            font-size: 14px;
            background-color: white;
            height: 500px;
            width: 100%;
        }

        .title {
            text-align: center;
            font-size: 18px;
            font-weight: bold;
        }

        #yximg {
            background: url(wenzhangku.gif);
            height: 320px;
            width: 320px;
            margin: 0px auto;
            position: relative;
        }

        .jiantou {
            width: 100px;
            height: 195px;
            position: absolute;
            top: 55px;
            left: 110px;
        }

        .nameput {
            text-align: center;
            margin-top: 10px;
            font-size: 18px;
        }

        .name_input {
            height: 26px;
            width: 104px;
            font-size: 18px;
            border-radius: 5px;
        }

        .btn_box {
            display: flex;
            justify-content: center;
            align-items: center;
            margin-top: 10px;
            margin: 0 auto;
        }

        .btn {
            font-size: 16px;
            margin: 5px;

        }

        .tuiguang {

            border-style: solid;
            border-width: 1px;
            border-color: #ccc;
            margin-top: 10px;
            border-radius: 10px;
        }

        .tuiguang_title {
            background-color: #f5f5f5;
            display: flex;
            justify-content: center;
            align-items: center;

            margin: 0 auto;
        }

        .tuiguang_list {
            background-color: white;
            text-align: left;
        }

        .tuiguang_list ul {
            margin-left: 0;
            /* 移除ul的左侧外边距 */
            padding-left: 0;
            /* 移除ul的左侧内边距,如果有的话 */
        }

        .tuiguang_list li {
            list-style: none;
            margin-top: 5px;
            font-size: 16px;
            text-align: left;

        }

        .tuiguang_list hr {
            border-style: dashed;
            /* 设置边框样式为虚线 */
            border-color: #ccc;
            /* 设置边框颜色,可以根据需要调整 */
            border-width: 1px;
            /* 设置边框宽度,可以根据需要调整 */
        }

        /* 样式表 */
        a {
            color: black;
            /* 设置链接颜色为黑色 */
            text-decoration: none;
            /* 去除下划线 */
            font-weight: normal;
            /* 设置字体重量为正常 */
            font-style: normal;
            /* 设置字体风格为正常 */
        }

        a:hover {
            text-decoration: none;
            /* 鼠标悬停时显示下划线 */
        }
    </style>
</body>

</html>


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大梁来了

千山万水总是情,打赏一块行不行

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值