background: rgba(255, 255, 255, 0.5);
opacity
же наследуется без вариантов, а потому если хочется применить именно её, то придётся серьёзно корячить вёрстку - разделяя её на два блока: прозрачный и нет, и накладывая их позиционированием друг на друга.