JSFiddle - React, Tailwind, and code Playground

HTML

<img src="https://goo.gl/XGflc6" width="150" id="logo" class="logo" alt="logo">

<form action="edit_logo-upd.php" method="post">

  <label for="alterarLogo">
    <img src="https://goo.gl/Kmg0EB" width="20" height="20" class="alterar" alt="Alterar">
  </label>

  <label for="salvarLogo">
    <span class="salvar" id="salvar"> Salvar </span>
  </label>

  <input name="logo" id="alterarLogo" type="file">
  <input name="salvar" id="salvarLogo" type="submit">

</form>

CSS

html {
  background-color: #555;
}


/* Isso é apenas para demonstração, mas pode servir como base em seu projeto!  */

.logo {
  float: left;
  border: 1px solid;
  border-top-color: rgba(255, 255, 255, 0.3);
  border-bottom-color: rgba(255, 255, 255, 0.3);
  border-right-color: rgba(255, 255, 255, 0.3);
  border-left-color: rgba(255, 255, 255, 0.3);
}

.alterar {
  float: left;
  margin-left: -21px;
  margin-top: 1px;
  position: absolute;
  background: rgba(255, 255, 255, 0.3);
}

.salvar {
  float: left;
  line-height: 21px;
  padding-left: 10px;
  padding-right: 10px;
  background: rgba(255, 255, 255, 0.3);
  display: none;
  cursor: pointer;
}


/* Isso é necessário para ocultar o input, altere para ver o que irá mudar :P  */

#alterarLogo,
#salvarLogo {
  display: none;
}

JavaScript

document.getElementById("alterarLogo").addEventListener("change", function() {
      document.getElementById('logo').src = window.URL.createObjectURL(this.files[0]);
      document.getElementById("salvar").style.display = "block";
    });