I would recommend swapping out the Custom Text field for the actual fields of the content type. In your View choose all the fields you want to show:

Then you can go into each field and edit their settings.
For the title you can wrap it in a paragraph tag.

Then, for the URL (I'm guessing the URL is just a plain old textfield) - hide it from being displayed. (We're going to rewrite the image field to have the url linked around it).

And finally for the image field rewrite the output to link it.

This will give you an unordered list with the title in a paragraph tag and the image wrapped in the url in a list item. You can then go ahead and style that list.
For what it's worth, I've done a quick test on simplytest.me - https://r02ga.ply.st/, the username and password should already be filled in and you should see the View I created in there. Let me know if you can't see this - it should be up for another 21 hours.
This should solve your problem but there are many many ways to do this. Usually I would already have the markup from a front end developer and I would use the 'Manage Display' settings on the content type and set the Views' format to show 'Content', then I'd use the 'Theme Information' (Under Advanced in Views) to overwrite the Views markup in my theme. BUT that seems like overkill for your problem but it's worth looking into if you choose to do any advanced Drupal theming.