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);
}