CSS去掉输入框样式

201 阅读4分钟

CSS去掉输入框样式

在CSS中,可以通过以下方法去掉输入框(<input><textarea> 等)的默认样式,使其更符合自定义设计需求:

  1. 去掉默认边框

输入框通常有一个默认的边框,可以通过 border 属性去掉。

示例:

input, textarea {
    border: none; /* 去掉边框 */
}

说明:

  • border: none 会完全去掉输入框的边框。
  1. 去掉默认轮廓(outline)

当输入框获得焦点时,浏览器通常会显示一个轮廓(outline),可以通过 outline 属性去掉。

示例:

input:focus, textarea:focus {
    outline: none; /* 去掉焦点时的轮廓 */
}

说明:

  • outline: none 会去掉输入框获得焦点时的默认轮廓。
  • 注意:去掉轮廓可能会影响可访问性,建议用其他方式(如 box-shadow)提供焦点反馈。
  1. 去掉背景色

某些浏览器会为输入框添加默认的背景色,可以通过 background-color 去掉。

示例:

input, textarea {
    background-color: transparent; /* 去掉背景色 */
}

说明:

  • background-color: transparent 会使输入框背景透明。
  1. 去掉内边距和边距

输入框可能有默认的内边距(padding)和边距(margin),可以通过重置这些属性去掉。

示例:

input, textarea {
    padding: 0; /* 去掉内边距 */
    margin: 0;  /* 去掉边距 */
}

说明:

  • 重置 paddingmargin 可以使输入框更紧凑。
  1. 去掉默认阴影

某些浏览器会为输入框添加默认的阴影效果,可以通过 box-shadow 去掉。

示例:

input, textarea {
    box-shadow: none; /* 去掉阴影 */
}

说明:

  • box-shadow: none 会去掉输入框的阴影效果。
  1. 去掉默认圆角

某些浏览器会为输入框添加默认的圆角,可以通过 border-radius 去掉。

示例:

input, textarea {
    border-radius: 0; /* 去掉圆角 */
}

说明:

  • border-radius: 0 会使输入框的边角变为直角。
  1. 去掉默认字体样式

输入框可能有默认的字体样式,可以通过 font 属性重置。

示例:

input, textarea {
    font-family: inherit; /* 继承父元素的字体 */
    font-size: inherit;   /* 继承父元素的字体大小 */
    color: inherit;       /* 继承父元素的字体颜色 */
}

说明:

  • 使用 inherit 可以使输入框的字体样式与父元素一致。
  1. 去掉默认的输入框大小

某些浏览器会为输入框添加默认的宽度和高度,可以通过 widthheight 重置。

示例:

input, textarea {
    width: 100%; /* 设置宽度为100% */
    height: auto; /* 高度自适应 */
}

说明:

  • 通过 widthheight 可以自定义输入框的大小。
  1. 去掉默认的输入框类型样式

某些输入框类型(如 <input type="number">)可能有默认的样式(如上下箭头),可以通过 appearance 去掉。

示例:

input[type="number"] {
    appearance: textfield; /* 去掉数字输入框的上下箭头 */
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    appearance: none; /* 去掉Webkit浏览器的上下箭头 */
}

说明:

  • appearance: textfield 可以使数字输入框看起来像普通文本输入框。
  • ::-webkit-inner-spin-button::-webkit-outer-spin-button 用于去掉Webkit浏览器的上下箭头。
  1. 完整示例

以下是一个完整的示例,去掉输入框的所有默认样式并自定义样式:

CSS:

input, textarea {
    border: none;           /* 去掉边框 */
    outline: none;          /* 去掉轮廓 */
    background-color: transparent; /* 去掉背景色 */
    padding: 0;             /* 去掉内边距 */
    margin: 0;              /* 去掉边距 */
    box-shadow: none;       /* 去掉阴影 */
    border-radius: 0;       /* 去掉圆角 */
    font-family: inherit;   /* 继承字体 */
    font-size: inherit;     /* 继承字体大小 */
    color: inherit;         /* 继承字体颜色 */
    width: 100%;            /* 设置宽度 */
    height: auto;           /* 高度自适应 */
}

input[type="number"] {
    appearance: textfield; /* 去掉数字输入框的上下箭头 */
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    appearance: none; /* 去掉Webkit浏览器的上下箭头 */
}

HTML:

<input type="text" placeholder="请输入文本">
<textarea placeholder="请输入多行文本"></textarea>
<input type="number" placeholder="请输入数字">

总结

通过以上方法,可以去掉输入框的默认样式并自定义样式。常见操作包括:

  1. 去掉边框和轮廓。
  2. 去掉背景色和阴影。
  3. 去掉内边距和边距。
  4. 去掉圆角。
  5. 去掉特定输入框类型的默认样式(如数字输入框的上下箭头)。

根据具体需求选择合适的方式即可!

更多vue相关插件及后台管理模板可访问vue admin reference,代码详情请访问github