html - CSS 渐变边框显示不正确

标签 html css linear-gradients

我想为 text 输入的 border-color 设置一半蓝色和橙色。

我尝试使用渐变,但它不起作用。

我的代码有什么问题?

.search {
  width: 550px;
  height: 50px;
  margin-left: 350px;
  border-radius: 20px;
  outline: none;
  margin-top: 70px;
  border: solid;
  border-image: linear-gradient(to right, rgb(254, 113, 53) 50%, rgb(55, 154, 214) 50%);
  font-size: 20px;
  text-align: center;
  transition: all 0.2s linear;
}

.search:hover,
.search:focus {
  border: #4cbea5 solid;
}
<div>
  <form method="post">
    <input type="Search" class="search" placeholder="Search">
  </form>
</div>

最佳答案

您需要像这样在 border-image 中指定切片值:

.search {
  width: 550px;
  height: 50px;
  border-radius: 20px;
  outline: none;
  margin-top: 70px;
  border: solid;
  border-image: linear-gradient(to right, rgb(254, 113, 53) 50%, rgb(55, 154, 214) 50%) 2;
  font-size: 20px;
  text-align: center;
 }
<form method="post">
    <input type="Search" class="search" placeholder="Search">
  </form>

您可以阅读更多关于 border-image 的信息

顺便说一句,您不能将 border-radiusborder-image 一起使用,但您可以使用多个背景并通过调整 background-clip。这也将允许您拥有悬停行为:

.search {
  width: 550px;
  height: 50px;
  border-radius: 20px;
  outline: none;
  margin-top: 70px;
  border: 2px solid transparent;
  background: 
    linear-gradient(#fff,#fff) content-box,
    linear-gradient(to right, rgb(254, 113, 53) 50%, rgb(55, 154, 214) 50%) border-box;
  font-size: 20px;
  text-align: center;
  transition: all 0.2s linear;
}

.search:hover,
.search:focus {
  border-color:#4cbea5;
}
<form method="post">
    <input type="Search" class="search" placeholder="Search">
  </form>

相关:Border Gradient with Border Radius

关于html - CSS 渐变边框显示不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47660607/

相关文章:

css - 如何组合两个 css3 渐变?

javascript - jsPDF 无法使用任何样式

c# - 使用 WCF Duplex 回调更新 JQuery 进度条?

html - 不同浏览器的布局问题

css - 在 HTML 文本区域中添加行

css - 如何在IE10中使用css线性渐变?

css - 我怎样才能用背景渐变制作这个形状?

javascript - 使用 JavaScript 验证两个文本字段

Javascript onloadedmetadata 事件未在 iOS 设备上触发

javascript - 调整窗口大小后移动菜单闪烁(CSS 和 JS 问题)