Вы не можете сделать это строго без JavaScript, потому что селектор, включающий :focus
, может выбирать только дочерние элементы, кроме псевдоселектора :focus
, а input
являются пустыми элементами.Вы также не можете использовать псевдоэлементы, потому что input
элементы заменены элементами.
Вы можете сделать это с помощью touch JavaScript, чтобы добавить элементы насобытие.
var input = document.getElementsByName('some_input')[0],
parent = input.parentNode,
bubble = document.createElement('div');
bubble.className = 'bubble';
bubble.textContent = 'Your text.';
parent.appendChild(bubble);
input.addEventListener('focus', function() {
parent.className += ' focus';
});
input.addEventListener('blur', function() {
parent.className = parent.className.replace(/\bfocus\b/, '');
});