HTML is a markup language used to structure and present content on the web. It uses tags to define elements like text, images, videos and links. HTML documents can be created using any basic text editor or WYSIWYG authoring tools. A HTML document contains the basic structure and tags. CSS is used to style and lay out HTML elements, allowing control over things like colors, fonts, spacing. CSS rules are defined in a separate .css file and tell the HTML how to display on different devices.