I'm trying to float images across the screen with captions underneath them.
You will need some sort of container to keep the image and paragraph together. You are also always supposed to apply a width to the float, hopefully, you can do that (looks like you can.)
.imgFloat { float:left;
width:150px; margin-right: 6px; text-align: center;}
.imgFloat p { margin:0; padding:6px 0 0 0; }
....
<div class="imgFloat">
<img src="DSC1A.jpg" width="150" height="113" alt="Tennis">
<p>Caption</p>
</div>
When you start wrestling with why it won't fit X number of containers on one line, remember the box model differences in browsers, you'll have to play with paddings and margins a little.
Also note that floated elements will not
center. You can center the text/images inside the floated element but not the row of elements themselves. You won't get a "centered" row unless you wrap the entire row in a specific width container on which you apply margin:auto.
While you're at it, it's a much better idea for maintenance and (mild) SEO contributions to do this
describe-image-instead.jpg
instead of
DSC1A.jpg