文本域

<textarea>

Introduction

文本域属性
item desc
name 名称,用以提交数据
placeholder 提示信息/占位符
maxlength 最大字符数
wrap 是否换行;默认 on | 换行。off | 不换行。谁会不换行呢
cols 列数;建议使用 CSS 宽高指定
rows 行数;建议使用 CSS 宽高指定
<textarea name="msg" id="msg" placeholder="your message" maxlength="60"></textarea>

CSS

Initialization

[] 初始化样式
textarea {
  display: block;
  width: 100%;
  resize: none;
  border: none;
  outline: none;
  padding: 10px;
  background-color: transparent;
  font: inherit;
  color: inherit;
  box-sizing: border-box;
}
[] 内容较多时,还应该考虑 滚动条 的设计
textarea::-webkit-scrollbar {
  width: 8px;
}

textarea::-webkit-scrollbar-thumb {
  background-color: #f40;
}
[] 获取焦点时,改变边框颜色
.msg {
  border: 1px solid #ccc;
  border-radius: 6px;
}

.msg:focus {
  border-color: #f40;
}

JavaScript

  1. 获取元素
  2. 响应事件
文本域事件
item desc
change 选择改变时
focus 获取焦点时
blur 失去焦点时
[] 动态改变背景
const msg = document.getElementById('msg');
function setBg(color) {
  msg.style.background = color;
}
msg.addEventListener('change', (e) => {
  console.log(msg.value)
});
msg.addEventListener('focus', (e) => {
  setBg('#f3f4f5')
});
msg.addEventListener('blur', (e) => {
  setBg('#fff')
});

Summary & Homework

Summary

Homework