input
удали, он ненужен, без js ты ему галочку не снимешь. Стили связанные с
input
тоже удали. Свой
.dd-button
сделай не
div
, а
button
. Далее отталкивайся от самой кнопки, у нее может быть состояние
:focus
, вот это то что тебе нужно. Если фокус на кнопке, то показывай список, если нет фокуса, то не показывай. Фокус с кнопки снимается при клике на любой посторонний элемент.
<button class="dd-button">Dropdown</button>
.dd-button:not(:focus) + .dd-menu {
display: none;
}
.dd-button:focus + .dd-menu {
display: block;
}