【发布时间】:2019-11-13 07:07:15
【问题描述】:
我正在尝试使用 vanilla javascript 创建一个待办事项列表,当文本输入到文本输入时,它将动态创建一个
和文本。我想动态添加一个单选按钮并将其与中心的 li 末尾对齐。
我尝试将display: table-cell;vertical-align center 添加到
display: flex 和单选按钮上的justify-content: flex-end;,但它会将单选按钮移动到另一个位置,但仍然不正确。
我已将代码放入小提琴中:https://jsfiddle.net/oub5pm4g/
document.querySelector("#add").addEventListener("click", btnClick);
document.querySelector("#input").addEventListener("keyup", keyUp)
function keyUp(event) {
if (event.keyCode === 13) {
event.preventDefault();
btnClick();
}
}
function btnClick(event) {
event.preventDefault()
var input = document.querySelector("#input");
var ul = document.querySelector("ul");
li = document.createElement("li");
ul.appendChild(li);
h2 = document.createElement("h2");
text = document.createTextNode(input.value);
h2.appendChild(text);
li.appendChild(h2);
var radio = document.createElement("input");
radio.setAttribute("type", "radio");
li.appendChild(radio);
document.querySelector("#form").reset();
}
body {
background: rgb(238, 237, 237);
}
.container {
background: white;
max-width: 50%;
max-height: 80%;
margin: 0 auto;
border-radius: 25px;
padding: 2%;
box-shadow: 0 5px 10px rgba(154, 160, 185, 0.05),
0 15px 40px rgba(166, 173, 201, 0.2);
}
h1 {
font-family: "Roboto", sans-serif;
font-weight: 900;
text-align: center;
}
h2 {
font-weight: 600;
}
h3 {
font-weight: 00;
}
h4 {
font-weight: 100;
}
ul {
list-style: none;
padding: 0;
font-family: "Roboto", sans-serif;
margin-top: 5%;
color: white;
}
li {
box-sizing: border-box;
width: 100%;
margin-bottom: 5%;
font-size: 1em;
background: crimson;
padding: 1em;
border-radius: 15px;
}
input[type="text"] {
box-sizing: border-box;
width: 85%;
font-size: 1em;
padding: 1em;
}
input[type="radio"] {
float: right;
align-content: center;
}
button {
padding: 1em;
width: 13%;
font-size: 1em;
color: white;
background: crimson;
margin-left: 1.4%;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Page Title</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" media="screen" href="main.css" />
<link href="https://fonts.googleapis.com/css?family=Roboto&display=swap" rel="stylesheet">
</head>
<body>
<div class="container">
<h1>To-Do List</h1>
<form id="form">
<input type="text" placeholder="Add new task..." id="input">
<button id="add" type="submit">Add</button>
</form>
<ul>
</ul>
</div>
</body>
<script src="main.js"></script>
</html>
谢谢。
【问题讨论】:
-
to the end of the li in the center -
@ScottMarcus 我希望它右对齐,但如果有意义的话,与文本在同一行
-
@Paulie_D 问题已编辑,谢谢!
标签: javascript html css