2021-1-25表单元素美化

美化表单元素

一些新的伪类元素

focus

  • 元素聚焦时的样式
  • html代码
  • 通过html代码设置一个普通文本输入框和一个密码框
  <p class="password">
    账号:
    <input placeholder="请输入账号" type="text">
    密码:
    <input placeholder="请输入密码" type="password">
  </p>
  • css代码
  • 先设置普通文本输入框和密码框未聚焦时的样式
  .password input[type="text"] , .password input[type="password"]{
    padding: 0px;
    border: 1px solid rgb(155, 153, 153);
  }
  • 再设置普通文本输入框和密码框聚焦时的样式
  .password input[type="text"]:focus,.password input[type="password"]:focus,.name:focus{
    border: 1px solid #6b24ad;
    outline: none;
  }

checked

  • 设置单选或多选框被选中的样式
  • 设置一个单选框
  <p>
      <input id="radmale" name="gender" type="radio">
      <label for="radmale"></label>

      <input id="radfemale" name="gender" type="radio">
      <label for="radfemale"></label>
  </p>
  • 为其设置选中时的样式
  input:checked+label {
      color: red;
  }

伪类元素的常见用法

重置表单元素样式

  • 对于表单元素,浏览器有一些默认的样式,所以想要统一的样式,就需重新设置表单样式
  • 例如
  input,
  textarea,
  button,
  select {
      border: none;
  }

  input:focus,
  textarea:focus,
  button:focus,
  select:focus {
      outline: none;
      outline-offset: 0;
  }
  • 改代码重置了表单元素的边框,也重置了表单元素聚焦时的一部分样式

css属性resize

  • 设置textarea是否允许调整尺寸
  • both:默认值,两个方向都可以调整尺寸
  • none:不能调整尺寸
  • horizontal: 水平方向可以调整尺寸
  • vertical:垂直方向可以调整尺寸

文本框边缘到内容的距离

  • 方法一:设置padding
input {
  padding:0 10px;
}
  • 方法二:设置text-indent
input {
  text-indent: 1em;
}

设置单选框,多选框的样式

  • 单选框和多选框样式较难控制
  • 需要用一些css代码为其制作样式
  性别:
  <label class="radio-item">
    <input name="gender" type="radio">
    <span class="radio"></span>
    <span></span>
  </label>

  <label class="radio-item">
    <input name="gender" type="radio">
    <span class="radio"></span>
    <span></span>
  </label>
  • css代码
  • 设置未选中的样式
.radio-item .radio{
    height: 12px;
    width: 12px;
    border-radius: 50%;
    border:1px solid rgb(90, 88, 87);
    cursor: pointer;
    display: inline-block;
  }
  • 设置选中后的效果
  • 在类名为radio的元素后添加一个伪元素after,添加选中后的效果
  • 选中后的样式由两部分组成,外面的圈和中间的大圆点
.radio-item input:checked+.radio::after{
    content: " ";
    display: block;
    height: 7px;
    width: 7px;
    background-color: #93e2e2;
    border-radius: 50%;
    margin-top: 2.3px;
    margin-left: 2.5px;
  }
.radio-item input:checked+.radio{
    border-color: #93e2e2;
  }
  • 将原本元素隐藏
.radio-item input[type="radio"]{
    display: none;
  }
  • 效果图:
    设置之后选中的样子
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值