Menu
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

操作指南

操作指南首页

菜单

图标栏 菜单图标 手风琴 选项卡 垂直选项卡 选项卡标题 全页面选项卡 悬停选项卡 顶部导航 自适应顶部导航 分割导航 带图标的导航栏 搜索菜单 搜索栏 固定侧边栏 侧边导航 自适应侧边栏 全屏导航 隐藏式菜单 悬停侧边栏按钮 带图标的侧边栏 水平滚动菜单 垂直菜单 底部导航 自适应底部导航 底部边框导航链接 右对齐菜单链接 居中菜单链接 等宽菜单链接 固定菜单 滚动时下拉栏 滚动时隐藏导航栏 滚动时缩小导航栏 粘性导航栏 图像上的导航栏 悬停下拉菜单 点击下拉菜单 级联下拉菜单 顶部导航中的下拉菜单 侧边导航中的下拉菜单 自适应导航栏下拉菜单 子导航菜单 向上下拉菜单 巨型菜单 移动菜单 窗帘菜单 折叠侧边栏 折叠侧边面板 分页 面包屑导航 按钮组 垂直按钮组 粘性社交栏 药丸导航 自适应页眉

图像

幻灯片 幻灯片图库 模态图像 灯箱 自适应图像网格 图像网格 图像库 可滚动图像库 选项卡图库 图像覆盖淡入 图像覆盖滑动 图像覆盖缩放 图像覆盖标题 图像覆盖图标 图像效果 黑白图像 图像文字 图像文字块 透明图像文字 全页面图像 图像上的表单 英雄图像 模糊背景图像 滚动时更改背景 并排图像 圆角图像 头像图像 自适应图像 居中图像 缩略图 图像周围的边框 认识团队 粘性图像 翻转图像 摇动图像 作品集图库 带有过滤功能的作品集 图像缩放 图像放大镜 图像对比滑块 网站图标

按钮

警示按钮 轮廓按钮 分割按钮 动画按钮 淡入淡出按钮 图像上的按钮 社交媒体按钮 阅读更多 阅读更少 加载按钮 下载按钮 药丸按钮 通知按钮 图标按钮 下一页/上一页按钮 导航中的更多按钮 块级按钮 文本按钮 圆形按钮 滚动到顶部按钮

表单

登录表单 注册表单 结账表单 联系表单 社交登录表单 注册表单 带图标的表单 新闻稿 堆叠表单 自适应表单 弹出窗口表单 内联表单 清除输入框 隐藏数字箭头 复制文本到剪贴板 动画搜索 搜索按钮 全屏搜索 导航栏中的输入框 导航栏中的登录表单 自定义复选框/单选框 自定义选择 切换开关 勾选复选框 检测大写锁定 回车键触发按钮 密码验证 切换密码可见性 多步骤表单 自动完成 关闭自动完成 关闭拼写检查 文件上传按钮 空输入验证

过滤器

过滤列表 过滤表格 过滤元素 过滤下拉菜单 排序列表 排序表格

表格

斑马线表格 居中表格 全宽表格 嵌套表格 并排表格 自适应表格 比较表格

更多

全屏视频 模态框 删除模态框 时间轴 滚动指示器 进度条 技能条 范围滑块 颜色选择器 电子邮件字段 工具提示 悬停显示元素 弹出窗口 可折叠 日历 HTML 包含 待办事项列表 加载器 徽章 星级评定 用户评级 叠加效果 联系芯片 卡片 翻转卡片 个人资料卡片 产品卡片 警报 呼叫 笔记 标签 丝带 标签云 圆形 样式 HR 优惠券 列表组 带有徽章的列表组 无项目符号的列表 响应式文本 剪切文本 发光文本 固定页脚 粘性元素 等高 清除浮动 响应式浮动 Snackbar 全屏窗口 滚动绘图 平滑滚动 渐变背景滚动 粘性页眉 滚动时缩小页眉 价格表 视差 纵横比 响应式框架 切换喜欢/不喜欢 切换隐藏/显示 切换深色模式 切换文本 切换类 添加类 删除类 更改类 活动类 树形视图 删除小数 删除属性 脱机检测 查找隐藏元素 重定向网页 格式化数字 缩放悬停 翻转框 垂直居中 在 DIV 中居中按钮 居中列表 悬停过渡 箭头 形状 下载链接 全高元素 浏览器窗口 自定义滚动条 隐藏滚动条 显示/强制滚动条 设备外观 可编辑边框 占位符颜色 禁用文本区域调整大小 禁用文本选择 文本选择颜色 项目符号颜色 垂直线 分隔符 文本分隔符 动画图标 倒计时器 打字机 敬请期待页面 聊天消息 弹出聊天窗口 分屏 推荐 部分计数器 报价幻灯片 可关闭的列表项 典型设备断点 可拖动的 HTML 元素 JS 媒体查询 语法高亮器 JS 动画 JS 字符串长度 JS 幂运算 JS 默认参数 JS 随机数 JS 排序数字数组 JS 展开运算符 JS 滚动到视图 获取当前日期 获取当前 URL 获取当前屏幕尺寸 获取框架元素

网站

创建免费网站 制作网站 制作静态网站 托管静态网站 制作网站 (W3.CSS) 制作网站 (BS3) 制作网站 (BS4) 制作网站 (BS5) 创建并查看网站 创建链接树网站 创建投资组合 创建简历 制作餐厅网站 制作企业网站 制作网络书籍 居中网站 联系部分 关于页面 大页眉 示例网站

网格

2 列布局 3 列布局 4 列布局 扩展网格 列表网格视图 混合列布局 列卡片 之字形布局 博客布局

谷歌

谷歌图表 谷歌字体 谷歌字体搭配 谷歌设置分析

转换器

转换重量 转换温度 转换长度 转换速度

博客

获得开发人员工作 成为前端开发人员 雇佣开发人员

如何 - 创建待办事项列表


学习如何使用 CSS 和 JavaScript 创建“待办事项列表”。


待办事项列表

使用 CSS 和 JavaScript 创建“待办事项列表”来组织和优先安排您的任务。

尝试一下 »


创建待办事项列表

步骤 1) 添加 HTML

示例

<div id="myDIV" class="header">
  <h2>我的待办事项列表</h2>
  <input type="text" id="myInput" placeholder="标题...">
  <span onclick="newElement()" class="addBtn">添加</span>
</div>

<ul id="myUL">
  <li>去健身房</li>
  <li class="checked">支付账单</li>
  <li>见乔治</li>
  <li>买鸡蛋</li>
  <li>读书</li>
  <li>整理办公室</li>
</ul>

步骤 2) 添加 CSS

样式化页眉和列表

示例

/* 将内边距和边框包含在元素的总宽度和高度中 */
* {
  box-sizing: border-box;
}

/* 从列表中删除边距和内边距 */
ul {
  margin: 0;
  padding: 0;
}

/* 设置列表项的样式 */
ul li {
  cursor: pointer;
  position: relative;
  padding: 12px 8px 12px 40px;
  background: #eee;
  font-size: 18px;
  transition: 0.2s;

  /* 使列表项不可选择 */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* 将所有奇数列表项设置为不同的颜色(斑马条纹) */
ul li:nth-child(odd) {
  background: #f9f9f9;
}

/* 悬停时更深的背景颜色 */
ul li:hover {
  background: #ddd;
}

/* 单击时,添加背景颜色并删除文本 */
ul li.checked {
  background: #888;
  color: #fff;
  text-decoration: line-through;
}

/* 单击时添加“已选中”标记 */
ul li.checked::before {
  content: '';
  position: absolute;
  border-color: #fff;
  border-style: solid;
  border-width: 0 2px 2px 0;
  top: 10px;
  left: 16px;
  transform: rotate(45deg);
  height: 15px;
  width: 7px;
}

/* 样式设置关闭按钮 */
.close {
  position: absolute;
  right: 0;
  top: 0;
  padding: 12px 16px 12px 16px;
}

.close:hover {
  background-color: #f44336;
  color: white;
}

/* 样式设置标题 */
.header {
  background-color: #f44336;
  padding: 30px 40px;
  color: white;
  text-align: center;
}

/* 清除标题后的浮动 */
.header:after {
  content: "";
  display: table;
  clear: both;
}

/* 样式设置输入框 */
input {
  margin: 0;
  border: none;
  border-radius: 0;
  width: 75%;
  padding: 10px;
  float: left;
  font-size: 16px;
}

/* 样式设置“添加”按钮 */
.addBtn {
  padding: 10px;
  width: 25%;
  background: #d9d9d9;
  color: #555;
  float: left;
  text-align: center;
  font-size: 16px;
  cursor: pointer;
  transition: 0.3s;
  border-radius: 0;
}

.addBtn:hover {
  background-color: #bbb;
}


步骤 3) 添加 JavaScript

示例

// 创建一个“关闭”按钮并将其附加到每个列表项
var myNodelist = document.getElementsByTagName("LI");
var i;
for (i = 0; i < myNodelist.length; i++) {
  var span = document.createElement("SPAN");
  var txt = document.createTextNode("\u00D7");
  span.className = "close";
  span.appendChild(txt);
  myNodelist[i].appendChild(span);
}

// 点击关闭按钮隐藏当前列表项
var close = document.getElementsByClassName("close");
var i;
for (i = 0; i < close.length; i++) {
  close[i].onclick = function() {
    var div = this.parentElement;
    div.style.display = "none";
  }
}

// 点击列表项时添加“选中”符号
var list = document.querySelector('ul');
list.addEventListener('click', function(ev) {
  if (ev.target.tagName === 'LI') {
    ev.target.classList.toggle('checked');
  }
}, false);

// 点击“添加”按钮时创建一个新列表项
function newElement() {
  var li = document.createElement("li");
  var inputValue = document.getElementById("myInput").value;
  var t = document.createTextNode(inputValue);
  li.appendChild(t);
  if (inputValue === '') {
    alert("您必须输入内容!");
  } else {
    document.getElementById("myUL").appendChild(li);
  }
  document.getElementById("myInput").value = "";

  var span = document.createElement("SPAN");
  var txt = document.createTextNode("\u00D7");
  span.className = "close";
  span.appendChild(txt);
  li.appendChild(span);

  for (i = 0; i < close.length; i++) {
    close[i].onclick = function() {
      var div = this.parentElement;
      div.style.display = "none";
    }
  }
}
尝试一下 »

×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.