JSFiddle - React, Tailwind, and code Playground

HTML

<div class="wrp-v">
  <div class="rotbox" id="rotbox1">Hello world</div>
</div>
<div class="wrp-h">
  <div class="rotbox" id="rotbox2">Hello world</div>
</div>

CSS

.wrp-v {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-transform-origin: right;
  transform-origin: right;
  padding-right: 30px;
  position: absolute;
  right: 30%;
  bottom: 20%;
  height: 40px;
}
.wrp-h {
  padding-right: 30px;
  position: absolute;
  right: 30%;
  bottom: 20%;
  height: 40px;
}
.rotbox {
  background: green;
  color: white;
  display: inline-block;
  text-align: center;
  height: 40px;
  width: 200px;
  line-height: 40px;
  border-radius: 20px;
  font-size: 16px;
  -webkit-transition: width 2.0s ease;
  transition: width 2.0s ease;
}

JavaScript

function animate() {
  var e = document.getElementById('rotbox1');
	if (e.style.width == '120px') e.style.width = '200px'; else e.style.width = '120px';
  e = document.getElementById('rotbox2');
	if (e.style.width == '120px') e.style.width = '200px'; else e.style.width = '120px';
}
animate();
setInterval(animate, 2000);