Id希望输入文本时在输入中带有一个提交按钮,并且使用诸如border-radius之类的东西使边缘变圆
我在这个问题的第二个答案中使用css: How to add button inside input
#form {
display:flex;
flex-direction:row;
border:1px solid grey;
padding:2px;
border-radius:50px; /* this is me trying to round edges of input*/
}
#input {
flex-grow:2;
border:none;
}
但是当我添加边框半径时,按钮不再出现在输入中 我该怎么办?
答案 0 :(得分:1)
您的代码中有几个错误。首先,form
和input
是本机标记,它们在CSS中不需要井号。如果您为表单分配一个ID,则该ID将是您的#id(出于演示目的,我已将表单的ID指定为“ form”。
您可以为表单提供边界半径,但是要使按钮四舍五入而不对整个表单进行四舍五入,则需要在输入中添加边界半径。您可以使用输入(常规)为所有输入分配边界半径,或在CSS中指定类型input [type = submit]
希望这会有所帮助
#form {
width: 60%;
display: flex;
flex-direction: row;
border: 1px solid grey;
padding: 2px;
border-radius: 50px; /*you can remove this to avoid rounded corners on the form*/
}
input {
flex-grow: 2;
border: none;
border-radius: 50px;
}
<form id="form">
<input type="text" placeholder="text" />
<input type="submit" value="Click here" />
</form>
答案 1 :(得分:0)
您必须在输入文本元素中添加边框和边框半径。 在您链接的示例中,就像这样:
<ul>...</ul>
编辑: 如果边框应该围绕两个元素,则可以将此CSS添加到按钮:
input[type="text"] {
width: 200px;
height: 20px;
padding-right: 50px;
border: 2px solid black;
border-radius: 30px;
}
答案 2 :(得分:0)
这样的事情怎么样? <form>
现在只是一个弹性容器,边框样式实际上已应用于输入和按钮。
#my-form {
display: flex;
flex-direction: row;
}
#my-form input,
#my-form button {
border-radius: 10px;
border: 1px solid grey;
padding: 2px;
}
#my-form input {
flex-grow: 2;
border-right-width: 0;
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
#my-form button {
background: teal;
color: white;
border-left-width: 0;
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
<form id="my-form">
<input type="text" />
<button type="submit">my button</button>
</form>
答案 3 :(得分:0)
:root {
--border-width: 4px;
--border-radius: 10px;
--height: 40px;
}
input[type="text"],
input[type="submit"] {
transition: box-shadow .3s;
}
input[type="text"] {
width: 200px;
height: var(--height);
padding: 3px 60px 3px 5px;
border-radius: calc(var(--border-width, 1px) + var(--border-radius, 10px));
border-width: var(--border-width, 1px);
box-sizing: border-box;
border-color: blue;
border-style: solid;
}
input[type="text"]:hover,
input[type="text"]:focus {
outline: none;
box-shadow: 0px 0px 2px 3px blue;
}
input[type="submit"] {
transform: translateX(calc(-100% - var(--border-width, 1px)));
height: calc(var(--height) - 2 * var(--border-width));
background: blue;
color: white;
border: 0;
-webkit-appearance: none;
border-radius: 0 var(--border-radius, 10px) var(--border-radius, 10px) 0;
}
input[type="submit"]:hover,
input[type="submit"]:focus {
outline: none;
box-shadow: inset 0px 0px 2px 3px white;
}
<input type="text"><input type="submit">