Perfect, here's the code. I'll also explain:
background-color: rgb(255, 255, 255);
background-color: rgba(0, 0, 0, 0.35);
color: #FFFFFF !important;
So display:block lets you set the width (otherwise it's displayed inline by default, which won't let you set the width).
Then I set the width (300 pixels in my case, to stretch across the image).
I set the background color in rgba to 0 0 0 (black) with an opacity of 35% (i.e. 0.35 in the code)
I also put rgb in case a browser can't understand rgba (though for some reason I set it to white, I think this may be a mistake - it should probably also be 0 0 0 for black). Let me know if you know how to test my site on a non-rgba supporting browser.
I set the font to white with the color.
Then I added 3 pixels of padding on the left side so the writing would space itself out from the left side of the image and the semi-opaque background I've created.
Let me know if anything isn't clear! Also, donating sent.