如何制作垂直输入字段?

mos*_*sir 2 html css

这就是我要的.垂直输入字段,'x'是关闭按钮:

在此输入图像描述

这是我到目前为止:

*{
  margin:0;
  padding:0;
}
html,body{
  height:100%;
  width:100%;
}
.sidenav{
  height:100%;
  width:20%;
  background:#111;
  overflow-x:hidden;
  box-sizing:border-box;
  padding:calc((20% - 50px)/2);
}
.sidenav a{
  position:relative;
  bottom:18px;
  font-size:90px;
  color:#818181;
}
Run Code Online (Sandbox Code Playgroud)
<div class='sidenav''>
  <a>&times</a>
</div>
Run Code Online (Sandbox Code Playgroud)

我知道如何制作一个常规的,无骨的html输入字段:

<form>
  <input type=text placeholder='enter name'></input>
  <input type='submit' id='submit'></input>
</form>
Run Code Online (Sandbox Code Playgroud)

编辑:我想整合它以使风格统一,如CodePen的这个搜索栏:

在此输入图像描述

Obs*_*Age 7

你要找的是transform: rotate().这需要一个以度为单位的值,所以你可以向左或向右旋转.rotate(90deg)从上到下,rotate(-90deg)从下到上.

你也可能会想利用transform-origin选择在哪里旋转被基于来自中,为了使旋转的文本在正确的位置对齐.

这是一个最小的例子:

input[type="text"] {
  transform: rotate(-90deg);
  transform-origin: left 0;
  position: absolute;
  bottom: 0;
}
Run Code Online (Sandbox Code Playgroud)
<input type='text' placeholder='enter name'>
Run Code Online (Sandbox Code Playgroud)

这是一个(粗略)工作的例子.最大化片段以正确定位.您可能需要根据页面布局调整定位.

input[type="text"] {
  position: absolute;
  bottom: -150%;
  left: 25%;
  transform: rotate(-90deg);
  transform-origin: left 0;
}

form {
  position: relative;
}

* {
  margin: 0;
  padding: 0;
}

html,
body {
  height: 100%;
  width: 100%;
}

.sidenav {
  height: 100%;
  width: 20%;
  background: #111;
  overflow-x: hidden;
  box-sizing: border-box;
  padding: calc((20% - 50px)/2);
}

.sidenav a {
  position: relative;
  bottom: 18px;
  font-size: 90px;
  color: #818181;
}
Run Code Online (Sandbox Code Playgroud)
<div class='sidenav'>
  <form>
    <input type='text' placeholder='enter name '>
    <a>&times</a>
  </form>
</div>
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!:)