You can not really do this in CSS (and as you know Sass gets compiled to CSS before it is applied, so same limitations there), because you can not add anything to parents based on their children (hence bubble up stuff to img-drop-zone
form img
). However, you can use the adjacent selector or really any sibling combinators to apply stuff to elements if they follow img
.
Something like this perhaps:
.img-drop-zone img + .desc {
display:none;
}
DEMO
But since you are obviously implementing some additional functionality (deducted from the "drop image here" message), and you will probably use some kind of javascript to do that, then I would say javascript would offer some additional options concerning your desired DOM operations (removing the message, adding a class, or something else that would happen after you add the image and would let you control the styling).