JSFiddle - React, Tailwind, and code Playground
by adamschwartz
HTML
<board>
<tile></tile>
<tile optional></tile>
</board>
CSS
board, tile {
display: block;
box-sizing: border-box;
}
tile {
height: 5em;
width: 5em;
color: #ccc;
background: currentColor;
border-radius: 1em;
margin: 1em;
cursor: pointer;
}
tile[current] {
color: red;
}
tile[optional] {
background: transparent;
border: 1em solid;
}
JavaScript
const tiles = document.querySelectorAll('tile')
tiles.forEach(tile => {
tile.addEventListener('click', () => {
tiles.forEach(tile => tile.removeAttribute('current'))
tile.setAttribute('current', '')
})
})