前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >哔哩哔哩注册--表单练习

哔哩哔哩注册--表单练习

作者头像
宁在春
发布2022-10-31 13:40:03
4.1K0
发布2022-10-31 13:40:03
举报
文章被收录于专栏:关于Java学习@宁在春

哔哩哔哩注册–表单练习

HTML代码

  • 可能代码有些不足或者用词不当等
  • 希望大家能够见谅
  • 这是一次bilibili的注册表单练习
  • 里面都有详细注释
  • 当然一个网页有许多种 这只是其中一种 是为了相互交流
  • 希望大家喜欢
  • 最后的效果是这样子的
在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Bilibili</title>
    <link rel="stylesheet" href="./css/reset.css">
    <!-- 这里是插入  重置css文件 -->
    <link rel="stylesheet" href="./css/bilibili.css">
	<!-- 这里是插入   css文件 -->
</head>
<body>
    <div class="form">
        <!-- 给一个div  包含所有  也就是最外层的那个   -->
        
        <h2><span>注册 </span></h2>
        <!-- 这里  里面  套一个span是拿来做那个下划线 -->
        
        <div class="form-area">
            	<!-- 给放置表单的地方划定范围, 给定一个div -->
            
            <div class="form-item haserror">
               <!-- 给放置账号文本框  加一个div  包含住里面的元素   -->
                    <input type="text" name="" id="" placeholder="账号">
                	<!-- 文本框   placeholder元素 就是文本框里面的文字 -->
                    <div class="error ">
                        <!-- 这里制作的是那个错误信息  具体控制要学习js才可以 -->
                        改昵称以被占用
                    </div>
            </div>

            <div class="form-item">
                <!-- 和上一个文本框一样  只是换成了密码框 -->
                    <input type="password" name="" id="" placeholder="密码">
            </div>
            
            <div class="form-item">
                <!-- 这是第三给文本框 -->
                <div class="select clearfix">
                    <!-- 再套一个div  把里面分成两部分来做   -->
                    	<!-- 一边是 下拉框    另一边是一个文本框 -->
                    <div class="select-item ">
                    <!-- 这里有一个点击效果  但是同样要学习了js才能控制 这里是静态画面 -->
                        <div class="title">
                            中国大陆
                        </div>
                        <ul>
                            <li>Lopudiue.</li>
                            <li class="active">中国大陆</li>
                            <li>Idfugidit!</li>
                            <li>Prm act?</li>
                            <li>Laat a ab!</li>
                            <li>A um notam?</li>
                            <li>Tera iquam?</li>
                            <li>Ret fuatque?</li>
                            <li>Asquiditate.</li>
                            <li>Esundebitis.</li>
                            <li>His di cum?</li>
                            <li>Evque tium.</li>
                            <li>Ales.</li>
                            <li>Exumendsci!</li>
                            <li>Depit! ris.</li>
                            <li>Asque! itae!</li>
                            <li>Adendis co</li>
                            <li>Ip nonequi!</li>
                            <li>Cotioumq</li>
                        </ul>
                    </div>
                    
                    <div class="input">
                        <!-- 这边就是右边的文本框 -->
                        <input type="text" placeholder="填写手机号码">
                    </div>
                </div>
            </div>


            <div class="form-item">
                <!-- 这是第四个表单      -->
                <input type="text"placeholder="请输入短信验证码">
                <button type="button" class="btn-sncode">点击获取</button>
                <!-- 这是按钮 -->
            </div>

            <div class="readme">
                <!-- 这是多选框   -->
                <label>
           <!-- 单选钮、复选框都要点击控件才能选中控件,而如果使用<label>标识就可以实现点击文字选取。 -->
                    <input type="checkbox" name="" id="">
                    <span class="checkbox"></span>
                     <!-- 这里加一个span  是为了改变多选框样式   -->
                     <!-- 但是这里只是模仿   -->
                     <!-- 因为原网页 是用图标做的    -->
                    <span>
                        我已同意
                        <a href="#">
                            《哔哩哔哩弹幕网用户使用协议》
                        </a>
                        和
                        <a href="#">
                            《哔哩哔哩隐私政策》
                        </a>
                    </span>
                </label>
            </div>

                
            <div class="form-item">
                <!-- 这是那个住处的那个按钮 -->
                <button type="button" class="fill">注册</button>
            </div>
                
                <!-- 最后部分 -->
            <div class="readme txtright">
                <a href="">已有账号,直接登录></a>
            </div>
                
        </div>
    </div>
</body>
</html>

  • 接下来就是css 代码 也会附上自己的注释 ,有不足的地方请指出,因为都是一些简单的个人理解。谢谢啦。

css代码:

代码语言:javascript
复制
.clearfix::after {
    content: "";
    display: block;
    clear: both;
}
/* 这段代码的作用是  在浮动的父元素上 加上clearfix   解决那个浮动带来的高度塌陷问题  */

body{
    line-height: 1.5;
}
/* 这里是设置整个页面的行高 */

.form a{
    color: #00a1d6;
}
 /* 设置在 .form 下的所有 a元素的颜色为  这个颜色  */

.form {
    width: 980px;
    margin: 1em auto;
}
/* 设置 .form 的宽度   然后margin: 1em(距上面一个字体距离)  auto(水平居中); */

.form h2 {
    text-align: center;
    /* 文本居中 */
    font-size: 38px;
    /* 字体大小 */
    border-bottom: 1px solid #dddddd;
     /* 给定一个下划线 */
    height: 28px;
   /* 设置高度 */
    margin-bottom: 60px;
    /* 把下划线移到  穿过文字中间 */
}
/* 设置  .form 下的h2 元素  */

.form h2 span {
    padding: 0 20px;
     /* 文字左右距离那个下划线的距离 */
    background-color: #ffffff;
}
  /* 这里是设置   span  元素     利用颜色遮挡注册上的下划线  */


/* 给放置表单的大区域 设置一个  范围   */
.form-area {
    width: 423px;
   /* 定宽 */
    margin: 0 auto;
   /* 水平居中 */
}

 /* 第一个文本框        */
.form-area .form-item {
    margin: 50px 0px;
   /* 这个地方是设置整个表单区域  每个表单之间的上下距离 */
    position: relative;
   /* 这里给定一个相对定位  是这个区域下面有用到绝对定位 */
}

 /* 这里是那个错误提示  */
.form-area .form-item .error{
    position: absolute;
   /* 绝对定位 */
    width: 240px;
    right: -260px;
    font-size: 12px;
    color: #f45d98;
    top: 10px;
    display: none;
   /* 隐藏 */
}

.form-area .form-item.haserror .error{
    display: block;
   /* 显示    .form-item.haserror 这么设置的原因是方便那个后端人员使用js控制 */
}

/* 这里是设置  文本框的  一些样式 */
input[type="text"],
input[type="password"] {
    border: 1px solid #dcdfe6;
   /* 边框  */
    width: 100%;
   /* 宽度100%  这里设置100%  是随那之前定的宽度  要撑满这个区域 */
    box-sizing: border-box;
     /* 这里给一个链接 然后里面介绍了一下 这个  bor-sizing布局  */
    	/* https:www.jianshu.com/p/e2eb0d8c9de6 */
        
    border-radius: 4px;
     /* 这个 是圆角  具体设置 需要大家去查啦 */
    height: 40px;
    
    font-size: 14px;
    text-indent: 1em;
     /* 这个  是文本框 那个文字 距离那个   边框的距离  */
      /* 就像这样 不设置   |不设置距离    | */
	   /* 设置距离         | 设置距离     | */
   /* 就是文字开始距离边框的距离 */
}

 /* 这里是使用伪类  hover    设置鼠标滑过的那个效果 */
input[type="text"]:hover,
input[type="password"]:hover {
    border-color: #c0c4cc;
   /* 这是边框背景颜色 */
}

  /* 这个  使用伪类 placeholder  设置文本框预写的那个文字的颜色  具体的其他的用法  还没有学到    */
input[type="text"]::placeholder,
input[type="password"]::placeholder {
    border-color: #ccc;
}

 /* 这个是利用伪类  设置那个 鼠标点击的 那个样式      */
  /* 好像是叫做聚焦吧  个人理解  请见谅 	 */
input[type="text"]:focus,
input[type="password"]:focus {
    border-color: #00a1d6;
}

 /* 这里是 设置那个下拉框和 文本框在一起的那个一个表单   */
  /* 使用浮动将他们放置在一列     还有定高  */
.form-area .select .select-item,
.form-area .select .input {
    float: left;
    height: 40px;
}
  
 /* 这里是设置那个下拉框的样式 */
.form-area .select .select-item {
    width: 140px;
    border: 1px solid #dcdfe6;
    
    border-radius: 4px 0 0 4px;
   /* 这里是设置那个边框的四个方向的圆角 */
    box-sizing: border-box;
    
    border-right: none;
    /* 这里是去除  右边的边框 */
    position: relative;
}

 /* 这个 和上面那个  宽度加在一起就是  那个大的定宽  刚好撑满 */
.form-area .select .input {
    width: 281px;
}

/* 这里  就是那些li 的元素 的样式 */
.form-area .select .select-item ul{
    /* 最大高度 */
    max-height: 256px;
    /* 这个是最大高度    意思是  超过这个高度就会  显示下拉条    */
     /* 但是改变下拉条的样式  要在css进阶才会学习 */
    background-color: #ffffff;
    position: absolute;
    z-index: 1;
    /* 这个  z-index  是在那个定位中学习的    */
    /* z-index 属性设置元素的堆叠顺序。拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面。 */
    /* 这个作用是在js控制弹出时 才产生作用 遮挡下面的文字   */
    left: 0;
    top:50px;
    /* 这个地方是调整  那个下拉框的  位置 */
    width: 100%;
    border: 1px solid #dcdfe6;
    border-radius: 4px;
    color: #606266;
    padding: 10px 0;
    /* 这个是框内文字 距离上边框距离 */
    font-size: 14px;
    overflow-y: auto;
    /* 这是出现下拉条 */
    display: none;
    /* 这个是隐藏   */
}
 /* 弹出效果 需要靠js控制 */


.form-area .select .select-item ul li{
    padding:0 20px;
    /* 文字距离左右边框距离 */
    cursor: pointer;
   /* 这个是鼠标样式    鼠标点进  这个下拉框 时 是一个小手状态   就是鼠标图标样式 */
    height: 34px;
    line-height: 34px;
    /* line-height  和高度同高 垂直居中 */
}

 /* 这里是hover  效果 */
.form-area .select .select-item ul li:hover{
    background-color: #f5f5fa;
}

 /* 这一段  是那个选中效果 */
.form-area .select .select-item ul li.active{
    color: #00a1d6;
    font-weight: bold;
    /* 文字加粗 */
}

 /* 这个是下拉框里面 其中 一个   做个样式    让后面做的人明白 */
.form-area .select .select-item .title {
    height: 40px;
    line-height: 40px;
    padding: 0 20px;
    color: #909399;
    cursor: pointer;
}

 /* 这里是设置旁边的文本框 */
.form-area .select .select-item input{
    border-radius: 0 4px 4px 0;
}

  /* 这里是设置什么 协议的那一段 */
.form-area .readme{
    margin: -40px 0;
    /* 这个是距离  上下距离  为了不改变 表单之间的距离 */
    font-size: 12px;
}

/* 那个多选框的样式 */
.form-area  .readme .checkbox{
    display: inline-block;
  /* 将span 设置为行块盒 */
/* inline-block就是以内联块级元素呈现。具体变现为:块级元素同行显示,并可以修改width、height、	 */
         /* padding、margin等属性。 */
    width: 14px;
    height: 14px;
    border: 1px solid #dcdfe6;
    border-radius: 4px;

}

.form-area  .readme input:checked+.checkbox{
    border-color: #00a1d6;
}

 /* 隐藏原有的那个 多选框的样式   */
.form-area  .readme input{
    display: none;
}

.form-area  .readme input:checked+.checkbox::after{
     /* :checked 伪类  一下子讲不明白  */
     /* 大家可以去mdn 康康 */
     /* https:developer.mozilla.org/zh-CN/docs/Web/CSS/:checked */
    content: "";
    display: block;
    width: 7px;
    height: 7px;
    background-color: #00a1d6;
    border-radius: 4px;
    margin-left:4px;
    margin-top: 4px;

}

 /* 这底下就是一些按钮的  样式  比较简单 */
button{
    height: 40px;
    background-color: #00a1d6;
    color: #fff;
    cursor: pointer;
    font-size: 14px;
    border-radius: 4px;
}

.form-area .form-item .btn-sncode{
    width: 130px;
    height: 38px;
    position: absolute;
    top: 1px;
    right: 2px;
}

button:hover{
    background-color: #33b4de;
}
button.fill{
    width: 100%;
    /* 这里同样是为了撑满 那个定宽 */
    box-sizing: border-box;
}
 
/* 这是最后那个 已有帐号,直接登录 那个   直接设置为文本靠右就可以啦 */
.txtright{
    text-align: right;
}


  • 在这也把那个重置样式也放一份在这里 不过重置样式 没有很多注释啦
  • 全文大都是个人理解 用语或者用词都不太专业
  • 如果哪里出错啦 请大家指出来
  • 发布博客是为了记录自己 也是为了交流
  • 然后最后就是谢谢大家 能够看完啦

重置样式

代码语言:javascript
复制
html{
	/* 标准字体大小可以,在移动端使用的rem适配的话会动态改变。 */
   font-size:14px;
   /*  使用IE盒模型(个人取舍,我一般设置width是这是盒子的真实大小,包括padding和border) */
   box-sizing: border-box;
   
 }
 
 html,body{
	/* 在有些手机浏览器中点击一个链接或着可点击元素的时候,会出现一个半透明的灰色背景; */
   -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	 /* 提升移动端滚动的体验效果  */
   -webkit-overflow-scrolling: touch;
   overflow-scrolling: touch;
	/* 与浏览器窗口高度一致 */
   height: 100%;
 }
 
 body{
	/* 有些背景默认为浅灰色,所以统一设置为纯白 */
   background: #fff;
	/* 照着antd上面来的,在公司就别用微软雅黑了,不建议字体使用rem。 */
   font:14px,-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Hiragino Sans GB','Microsoft YaHei',
   'Helvetica Neue',Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol'
	/* 使字体更加顺滑 */
   -webkit-font-smoothing: antialiased;
   -moz-osx-font-smoothing: grayscale;
 }
 
  /* 去除浏览器默认的margin和padding, 自行删减一些不必要的标签 */
 body,
 p,
 h1,
 h2,
 h3,
 h4,
 h5,
 h6,
 dl,
 dd,
 ul,
 ol,
 th,
 td,
 button,
 figure,
 input,
 textarea,
 form,
 pre,
 blockquote,
 figure{
 margin: 0;
 padding: 0;
 }
 
 a{
	/* 小手 */
   cursor: pointer;
	/* 取消超链接的默认下划线 */
   text-decoration:none;
	/* antd里面还做了 , 看你团队需不需要这样的风格 */
   transition: color 0.3s ease;
 }
 
 ol,
 ul{
	/* 去除自带的ugly样式。 */
   list-style:none     
 }
 
  /* 这些节点部分属性没有继承父节点样式,所有继承一下,并取消outline,外轮廓的效果 */
 a,
 h1,
 h2,
 h3,
 h4,
 h5,
 h6,
 input,
 select,
 button,
 textarea {
 font-family: inherit;
 font-size: inherit;
 font-weight: inherit;
 font-style: inherit;
 line-height: inherit;
 color: inherit;
 outline: none;
 }
 
 button,
 input[type='submit'],
 input[type='button'] {
  /* 可点击小手 */
 cursor: pointer;
 }
  /* 取消部分浏览器数字输入控件的操作按钮 apperance可以改变控件的外观。 */
 input[type='number'] {
 -moz-appearance: textfield;
 }
 input[type=number]::-webkit-inner-spin-button,
 input[type=number]::-webkit-outer-spin-button {
 margin: 0;
 -webkit-appearance: none;
 }
 /**
  * 删除Firefox中的内边框和填充。
  */
 button::-moz-focus-inner,
 [type="button"]::-moz-focus-inner,
 [type="reset"]::-moz-focus-inner,
 [type="submit"]::-moz-focus-inner {
   border-style: none;
   padding: 0;
 }
 /**
  * 让html5中的hidden在IE10中正确显示
  */
 
 [hidden] {
   display: none;
 }
 template {
  /* 有些浏览器会显示template 不过template标签用的也少,自行取舍。 */
 display: none;
 }
 input,textarea,button,select{
    border:none;
 }
 input:focus,textarea:focus,button:focus,select:focus{
    outline: none;
    /* 木有外边框 */
 }

  • 下一次学习再来记录。
  • 白白
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-05-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 哔哩哔哩注册–表单练习
    • HTML代码
      • css代码:
        • 重置样式
        相关产品与服务
        短信
        腾讯云短信(Short Message Service,SMS)可为广大企业级用户提供稳定可靠,安全合规的短信触达服务。用户可快速接入,调用 API / SDK 或者通过控制台即可发送,支持发送验证码、通知类短信和营销短信。国内验证短信秒级触达,99%到达率;国际/港澳台短信覆盖全球200+国家/地区,全球多服务站点,稳定可靠。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档