Пытаюсь сделать вместо стандартного поля для загрузки файла просто квадратик. Для этого использую псевдоэлемент :before. Но при установке свойства display:none основного элемента этот псевдоэлемент тоже пропадает. Как исправить?
<input type="file" class="photo">
css
.photo{
display:none;
}
.photo:before{
content:'';
width:128px;
height:110px;
border:1px dashed var(--divider-color);
border-radius: 3px;
margin:20px 40px 0 0;
display:flex;
justify-content: center;
align-items:center;
}
Как вариант, можно сделать без псевдоэлементов (когда-то таким способом пользовался):
input {
display: none;
}
.photo {
background: green;
width: 100px;
height: 100px;
display: block;
}
<label class="photo">
<input type="file">
</label>
Сборка персонального компьютера от Artline: умный выбор для современных пользователей