SpeechRecognition实现浏览器端语音识别成文字搜索框输入效果代码

代码语言:html

所属分类:搜索

代码描述:SpeechRecognition实现浏览器端语音识别成文字搜索框输入效果代码

代码标签: SpeechRecognition 浏览器 语音 识别 文字 搜索框 输入

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="en" >

<head>
  <meta charset="UTF-8">
  

<link type="text/css" rel="stylesheet" href="//repo.bfw.wiki/bfwrepo/css/all.6.0.css">

<link href="https://fonts.googleapis.com/css2?family=Lato&family=Roboto&display=swap" rel="stylesheet" />
  
  
  
<style>
body {
  align-items: center;
  background-color: #eee;
  display: flex;
  height: 100vh;
  justify-content: center;
  margin: 0;
}

.a11y-hidden {
  position: absolute;
  left: -1000in;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: polygon(0 0, 0 0);
}

.search {
  width: 90%;
  max-width: 30rem;
  position: relative;
}
.search .input-bar {
  --active: #eee;
  align-items: center;
  background: #fff;
  border: 2px solid #0000;
  border-radius: 4rem;
  box-sizing: border-box;
  box-shadow: 0 1rem 2rem -1.5rem #0005;
  display: inline-flex;
  height: 4rem;
  overflow: hidden;
  transition: box-shadow 0.5s;
  width: 100%;
}
.search .input-bar:focus-within {
  background: #fffffc;
  border: 2px solid #444;
  box-shadow: 0 1rem 2rem -1.5rem #0007;
}
.search .input-bar:hover {
  box-shadow: 0 1rem 2rem -1.5rem #0007;
}
.search .input-bar label {
  position: absolute;
  color: #888;
  left: 1.625rem;
  font-family: Lato, Arial, sans-serif;
  font-size: 1.25rem;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  width: calc(100% - 8rem);
  max-width: calc(100% - 8rem);
  display: flex;
  align-items: center;
  z-index: 0;
}
.search .input-bar label span {
  visibility: hidden;
  overflow: hidden;
  max-width: 0;
  display: inline-block;
  margin: 0 0.125rem;
  transition: max-width 1s, margin 0.125s;
  transition-delay: 1s;
}
.search .input-bar label span.show {
  visibility: visible;
  margin: 0 0.25rem;
  max-width: calc(100% - 8rem);
}
.search .input-bar input {
  background: transparent;
  border: 0;
  box-sizing: border-box;
  flex: 1;
  font-size: 1.25rem;
  margin-left: 0.5rem;
  min-width: 8rem;
  outline: none;
  padding-left: 1rem;
  position: relative;
  z-index: 1;
}
.search .input-bar input::-ms-clear, .search .input-bar input::ms-reveal {
  display: none;
  width: 0;
  height: 0;
}
.search .input-bar input::-webkit-search-decoration, .search .input-bar input::-webkit-search-cancel-button, .search .input-bar input::-webkit-search-results-button, .search .input-bar input::-webkit-search-results-decoration {
  display: none;
  width: 0;
  height: 0;
}
.search .input-bar button {
  background: transparent;
  border: 0;
  border-radius: 50%;
  color: #444;
  font-size: 1.25rem;
  margin: 0;
  outline: none;
  width: 3rem;
  min-width: 3rem;
  height: 3rem;
  transition: background-color, color;
  transition-duration: 0.25s;
  box-shadow: 0 0 2rem #0000;
}
.search .input-bar button:hover {
  background: #eee;
}
.search .input-bar button:focus {
  background: #444;
  color: #fff;
}
.search .input-bar button:active, .search .input-bar button.active {
  background: #000;
}
.search .input-bar button#dictate {
  transform: scale(0);
  transition: transform 0.5s;
  transition-delay: 1s;
  visibility: hidden;
}
.search .input-bar button#dictate svg {
  display: none;
  margin: auto auto;
}
.search .input-bar button#dictate.show {
  visibility: visible;
  transform: scale(1);
}
.search .input-bar button#dictate.active i {
  display: none;
}
.search .input-bar button#dictate.active svg {
  display: block;
}
.search .input-bar button:last-child {
  margin-right: 0.5rem;
}

@media (prefers-reduced-motion) {
  * {
    transition: none !important;
    transition-delay: 0s !important;
  }
}
</style>


  
</head>

<body >
  <div class=&q.........完整代码请登录后点击上方下载按钮下载查看

网友评论0