JSFiddle - React, Tailwind, and code Playground

by petroveg

HTML

<div class="aside" data-container="aside">
	<dl class="aside-container" data-target="aside">
		<dt class="aside-head" data-action="aside">Я не смог в сети найти пример...</dt>
		<dd class="aside-body" data-content="aside">
			<img src="http://7ly.ru/wp-content/uploads/2012/07/original-okay.jpg">
		</dd>
	</dl>
</div>

CSS

html{
	font:16px sans-serif;
	color:#000;
	background:#fff;
}
body{
	margin:0;
}
.aside{
	position:fixed;
	top:50%;
	left:0;
	margin:-150px 0 0;
}
.aside-container{
	position:relative;
	margin:0;
}
.aside-head{
	position:absolute;
	top:0;
	left:100%;
	height:30px;
	margin:0 0 0 30px;
	padding:0 20px;
	line-height:30px;
	color:#fff;
	background:#369;
	white-space:nowrap;
	transform-origin:0 0;
	-webkit-transform-origin:0 0;
	-ms-transform-origin:0 0;
	-o-transform-origin:0 0;
	transform:rotate(90deg);
	-webkit-transform:rotate(90deg);
	-ms-transform:rotate(90deg);
	-o-transform:rotate(90deg);
	cursor:pointer;
}
.aside-body{
	overflow:hidden;
	width:0;
	margin:0;
	transition:.4s;
	-webkit-transition:.4s;
	-moz-transition:.4s;
	-ms-transition:.4s;
	-o-transition:.4s;
}
.active .aside-body{
	width:300px;
}
.aside-body img{
	display:block;
	width:260px;
	margin:0 20px;
}

JavaScript

$(document).on('click', '[data-action~="aside"]', function () {
	$(this).closest('[data-target~="aside"]').toggleClass('active');
});