JSFiddle - React, Tailwind, and code Playground
by shtrih
HTML
<!-- Концепт ачивок в раздел арта -->
<div class="achievment-dummy">
<div class="achievment">
<div class="image"></div>
<div class="title"></div>
<div class="date">24.11.2013</div>
<div class="description"></div>
</div>
</div>
<!-- "долбоёб, добавляющий за других теги", "переводоблядок", "заливатор говна", "модератор года", "хомяк, срущий в комментариях" -->
<!-- Итак, виды ачивок:
® Комбо (надо совершить ряд действий, чтобы получить ачивку)
® Количественная (просто выполнить какое-то действие N раз)
® Процентная (соотношение чего-то к чему-то в процентах)
® Разовые и левельные (например, http://wiki.anidb.net/w/Achievements)
-->
CSS
.achievment-dummy {
display: none;
}
.achievment {
position: relative;
float: left;
width: 31.2%;
box-sizing: border-box;
-moz-box-sizing: border-box;
margin: 10px 1%;
padding: 10px;
border: 1px solid #ccc;
box-shadow: 0 0 0 3px #ddd;
}
.achievment .image {
float: left;
width: 50px;
height: 50px;
margin-right: 10px;
background-repeat: no-repeat;
background-position: center center;
background-image: url('http://placehold.it/50');
border: 1px solid #ddd;
padding: 1px;
}
.achievment .date {
position: absolute;
top: 1px;
right: 1px;
font-size: 0.7em;
color: #ddd;
}
.achievment .title {
font-size: 1.1em;
}
.achievment .description {
font-size: 0.9em;
}
@media screen and (max-width: 780px) {
.achievment {
width: 47.3%;
}
}
@media screen and (max-width: 540px) {
.achievment {
width: 98%;
}
}
JavaScript
var achievments = [
{
"image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAACkElEQVRIS72WzXHaQBTHvTADxzgVWKkgdgWRK4hdgaGC6MLHLeTGx8FyBYYKDBVErsC4guAKgm/ADJD/X9FqnpaVhAz2zuiyu3q/9/1WnXzwUkV57XbbWa/XZ/yvXC6/dLvdWREZuUAAatvt9huEuvicFOGEBrgX9Pv9UZYCqcBms+kppX5kQNLkEu73er0724UdYKPROAfoHt95EVeZd2HtFF99MBhM5VkCGLnv3gbCz490W6lUogU6bs5ms6GbXShIt+8s7NcR56E+iIEpsFeA/NVq5WPNsyz2PO+0UqkwDB7ufUpYJaAhkJkHTZ9w+VRcnCyXy1oeyFSC4Gq1Sou+6zMoPYdnLpjRIRAJEkiX4MII2VY7JIaQOYTMGyEjQCJdKiYJ6E9Cm0fA3ENg+l/TEHjxQpmaQKsvRYs5TTmGCt76I4wZESjd+QyzDyoHE95qtVgWX7nPTFfY2IpLdwAyy462IN+HMDYQAucJIDZ+IX6do9H+J2QHYfqpZRIYm4zNCSy8OiYQ8se6RGDQC4HxBkGovc9Fay9Nwagm/4rzCZPmCiY/vEccZfyiGF7rwp8BGs44LrP/vcXFZqukO5EfjgaaVpLhpY2YPAWi0XYr78GIS9R3EDdvM5uiy0NA63kAfQ6rXFjCjHSNf+JyS4wnS/9j7VzDFUysEyaBTCj93ID2BNBLO03D7Ms7A9ji+xHGk4cJwMQyNc8ynqOtA2VZ+PGyPjFkuwu7Q3Js7ePhCeeirSdbgUhnDtvEEM2jhEWt1Bifn9X8bS5l4H/bAIwH9mf6TDw3ZvtOmAQw6gycjY4BfI1cNMyzNO9cvmlcDMhbI9MY+DEs6exrwV5AMfWfoySZAjxdLBbjY/VVrcg/cBBkna9i7QcAAAAASUVORK5CYII=",
"title": "Комментатор",
"description": "Написать N комментариев"
},
{
"image": "",
"title": "Заливатор",
"description": "Добавить N картинок"
},
{
"image": "",
"title": "Пиривотчик",
"description": "Добавить N переводов"
},
{
"image": "",
"title": "Почетный редактор",
"description": "Отредактировать N чужих переводов"
},
{
"image": "",
"title": "Тег-master",
"description": "Добавить теги для чужих артов N раз"
},
{
"image": "",
"title": "Модератор года",
"description": "Зааппрувить больше всех артов за год"
},
{
"image": "",
"title": "Заливатор говна",
"description": "Иметь N артов c отрицательным рейтингом"
},
...