JSFiddle - React, Tailwind, and code Playground
by stovberpv
HTML
<div class='survey'>
<div class='container'>
<!-- question -->
<div class='survey__question question wrapper'>
<button class='question__control control button' data-control='0'>+</button>
<input class='question__input input' type='text' placeholder='question'>
<button class='question__control control button' data-control='-1'>remove</button>
<button class='question__control control button' data-control='+1'>add after</button>
</div>
<!-- question/ -->
<div class='container'>
<!-- answer -->
<div class='survey__answer answer wrapper'>
<input class='answer__input input' type='text' placeholder='answer'>
<button class='answer__control control button' data-control='-1'>remove</button>
<button class='answer__control control button' data-control='+1'>add after</button>
</div>
<!-- answer/ -->
<!-- answer -->
<div class='survey__answer answer wrapper'>
<input class='answer__input input' type='text' placeholder='answer'>
<button class='answer__control control button' data-control='-1'>remove</button>
<button class='answer__control control button' data-control='+1'>add after</button>
</div>
<!-- answer/ -->
<!-- answer -->
<div class='survey__answer answer wrapper'>
<input class='answer__input input' type='text' placeholder='answer'>
<button class='answer__control control button' data-control='-1'>remove</button>
<button class='answer__control control button' data-control='+1'>add after</button>
</div>
<!-- answer/ -->
</div>
</div>
<div class='container'>
<!-- question -->
<div class='survey__question question wrapper'>
<button class='question__control control button' data-control='0'>+</button>
<input class='question__input input' type='text' placeholder='question'>
<button class='question__control...
CSS
body {
padding: 10px;
}
.control {
transition: all 0.3s;
visibility: hidden;
opacity: 0;
}
.input {
padding: 10px;
box-sizing: border-box;
border: none;
box-shadow: 0 0 0px 1px rgba(0, 0, 0, 0.3);
border-radius: 3px;
}
.button {
padding: 10px;
box-sizing: border-box;
background-color: #fc0;
border: none;
border-radius: 3px;
cursor: pointer;
}
.button[data-control="-1"] {
background-color: #f64;
}
.button[data-control="0"] {
padding: 5px 10px;
background-color: rgba(0, 0, 0, 0.1);
visibility: visible;
opacity: 1 !important;
}
.answer {
padding-left: 70px;
margin: 10px 0 0;
}
.wrapper:hover .control {
visibility: visible;
opacity: 1;
}
.wrapper:hover .control:hover {
opacity: 1;
}
.container {
padding: 10px;
margin: 20px 0;
border-radius: 3px;
box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1);
}