【前端学习之HTML&CSS进阶篇】-- HTML第四篇 -- 美化表单

【前端学习之HTML&CSS进阶篇】-- HTML第四篇 – 美化表单


本文具体内容参考了B站渡一教育的课程,原课程链接如下:
渡一教育课程

lc

前言

html与css以及今后我们将会学到的js共同构成了前端技术中最重要的三种语言,在学习过程中,我们首先从html出发,在html的学习过程中深入了解css。
在上一节博客中我们学习到了HTML中的表单元素,而对于表单元素来说,由于有着多种多样的按钮和选择界面,存在着很多的美化方法,让我们了一一了解一下。

一、新的伪类

1. focus

在这里插入图片描述

  • 元素聚焦时的样式,类似于选中该区域;
    如文本框输入栏被聚焦时:
    :focus{
        outline: -webkit-focus-ring-color auto 5px;
        /* 谷歌浏览器的颜色、外边框样式自动、边框宽度(auto时无效) */
    }
  • 通过tab实现切换聚焦处,且切换的顺序可以通过tabindex属性切换:
    <!-- 默认情况下,tab切换顺序是按照源次序由上往下 -->
    <a tabindex="2" href="https://www.baidu.com/">百度</a>
    <input tabindex="1" type="text">
    <button tabindex="3" >提交</button>
  • 可以通过CSS将聚焦后样式去除/修改:
    效果如下:
    lc
    input:focus{
        /* outline: none; */
        outline: 1px solid #008c8c;
        outline-offset: 0;
        color: blueviolet;
    }

2. checked

在这里插入图片描述

  • 单选或多选框被选中的样式
    效果如下:
    在这里插入图片描述
    input:checked{
        /* 可替换元素,大部分样式不可修改,例如颜色 */
        background-color: #008c8c;
        /* 这里的背景颜色就没有用处了 */
    }
    /* +:选中下一个兄弟元素 */
    input:checked+label{
        background-color: #008c8c;
    } 

二、常见用法

1. 重置表单元素样式(可补充进自己保存的重置样式中)

    input,textarea,button,select{
	    border: none;
    }
    input:focus,textarea:focus,button:focus,select:focus{
	    outline: none;
	    outline-offset: 0;
    }
  • 这里提供一种常见的表单样式
    /* 一种文本框输入样式 */
    input[type="text"], textarea, select {
        border: 1px solid #999;
    }
    input[type="text"]:focus textarea:focus select:focus{
        border: 1px solid #008c8c;
    }
    /* 一种button样式 */
    button{
        border: 2px solid #008c8c;
        border-radius: 5px;
    }

2. 设置textarea是否允许调整尺寸

  • CSS样式:resize

both:默认值,两个方向都可以调整尺寸
none:两个方向都不可以调整尺寸
horizonal:水平方向可以调整尺寸
vertical:垂直方向可以调整尺寸

3. 文本框边缘到内容的距离

    /* 调整边缘距离 */
    /* 方法1:padding */
    input{
        padding: 0 10px;
    }
    /* 方法2:text-indent,只有左侧 */
    input{
        text-indent: 1em;
    }

4. 控制单选和多选的样式【重点】

好看的选择框样式可见链接:选择框样式

  • 自行设计样式
    <div class="radio checked">
        <!-- fake radio -->
    </div>
    .radio{
        width: 12px;
        height: 12px;
        border: 1px solid #999;
        border-radius: 50%;
        cursor: pointer;
    }
    .radio.checked{
        border-color: #008c8c;
    }
    .radio.checked::after{
        content: "";
        display: block;
        width: 5px;
        height: 5px;
        background-color: #008c8c;
        margin-left: 3.5px;
        margin-top: 3.5px;
        border-radius: 50%;
    }

注意:上面的操作只是把一个div变成了选择框的样式,并没有实际意义,需要下面的变换才行

  • 将实际的选择框变成自己的样式
    效果如下:
    在这里插入图片描述
    <p>
        请选择性别:
        <label class="radio-item">
            <input name="gender" type="radio">
            <!-- 这个span元素类似于之前的div,用于设置自己的选择框样式 -->
            <span class="radio"></span>
            <span></span>
        </label>
        <label class="radio-item">
            <input name="gender" type="radio">
            <span class="radio"></span>
            <span></span>
        </label>
    </p>
     /* 这里的样式与前相同,只不过把div变成span */
    .radio-item .radio{
        width: 12px;
        height: 12px;
        border: 1px solid #999;
        border-radius: 50%;
        cursor: pointer;
        display: inline-block;
    }
    /* 下面开始通过checked实现对后面本来无法选中的span进行选中 */
    /* 通过checked选取到聚焦位置的下一个元素,来设置样式 */
    .radio-item input:checked+.radio{
        border-color: #008c8c;
    }
    .radio-item input:checked+.radio::after{
        content: "";
        display: block;
        width: 5px;![在这里插入图片描述](https://img-blog.csdnimg.cn/797da0715da9478c9c01d0d706947663.webp?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55Sf5aaC5pit6K-p,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)

        height: 5px;
        background-color: #008c8c;
        margin-left: 3.5px;
        margin-top: 3.5px;
        border-radius: 50%;
    }
    /* ~导致聚焦为止的后面所有span元素都被选中 */
    .radio-item input:checked~span{
        color: #008c8c;
    }
    /* 隐藏原有选择框 */
    .radio-item input[type="radio"]{
        display: none
    }

总结

本篇博客是对于表单元素的一些补充,主要针对于如何美化表单的样式,学习了两种新的伪类选择器,扩张了重置样式表,并且给出了一种可以生成自己想要样式选择框的方法,关于表单元素的进一步练习,将在下一篇博客中介绍,我们将会对B站的注册界面进行“copy”。

在这里插入图片描述

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
CSS3 的box-shadow属性可以用来制作各种各样的阴影效果,包括辐射动画。下面就来介绍一下如何使用box-shadow属性制作辐射动画。 首先,我们需要一个有背景色的元素,并给它设置一个box-shadow属性,如下: ```css div { background-color: #333; box-shadow: 0 0 0 rgba(255, 255, 255, 0.5); } ``` 这里的box-shadow属性中,第一个值表示水平偏移量,第二个值表示垂直偏移量,第三个值表示模糊半径,第四个值表示阴影颜色和不透明度。这里我们把偏移量和模糊半径都设置为0,颜色设置为白色半透明。 接下来,我们使用CSS3的动画属性来让box-shadow属性产生变化。我们设置一个@keyframes动画,让box-shadow的模糊半径从0逐渐增加到100px,同时不透明度从0.5逐渐减小到0,如下: ```css @keyframes shadow { 0% { box-shadow: 0 0 0 rgba(255, 255, 255, 0.5); } 100% { box-shadow: 0 0 100px rgba(255, 255, 255, 0); } } div { background-color: #333; box-shadow: 0 0 0 rgba(255, 255, 255, 0.5); animation: shadow 2s infinite; } ``` 这里的animation属性指定了要使用的动画名称、持续时间和循环次数。我们将这个动画设置为无限循环,这样就可以一直播放辐射动画了。 最后,我们还可以为这个元素添加一些其他效果来增强视觉效果,比如旋转、缩放等等。完整的代码如下: ```css div { background-color: #333; box-shadow: 0 0 0 rgba(255, 255, 255, 0.5); animation: shadow 2s infinite; transform: rotate(45deg) scale(1.5); } @keyframes shadow { 0% { box-shadow: 0 0 0 rgba(255, 255, 255, 0.5); } 100% { box-shadow: 0 0 100px rgba(255, 255, 255, 0); } } ``` 这样,我们就成功地使用box-shadow属性制作了一个辐射动画。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

生如昭诩

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值