Week 5: Getting Started with HTML and CSS

What topics were covered this week:

  • Basics of HTML: tags, elements, semantic markup.

  • Introduction to CSS: selectors, properties, styling rules.

  • Hands-on exercises to create static web pages using HTML and CSS.

Embarking on a UI/UX design journey involves understanding the fundamental building blocks of web design, and HTML, or Hypertext Markup Language, is one of these essential components. Throughout my journey, I've explored various aspects of HTML that play a crucial role in creating structured, accessible, and visually appealing web interfaces. Here's an overview of my experiences and insights across different HTML elements and features.

HTML Tables

HTML tables are invaluable for displaying tabular data in an organized manner. My initial challenge was ensuring readability and usability. I learned to use <table>, <tr>, <th>, and <td> tags to create rows and columns. Adding attributes like colspan and rowspan helped in merging cells to create complex table structures. I also emphasized accessibility by including <caption> for table descriptions and proper use of <thead>, <tbody>, and <tfoot> for clearer segmentation.

HTML Lists

HTML lists, including ordered (<ol>) and unordered (<ul>) lists, are essential for structuring content hierarchically. I used lists to enhance navigation menus and organize information efficiently. Customizing list styles with CSS allowed me to create visually distinct bullet points and numbering systems, improving both aesthetics and user comprehension.

HTML Blocks & Inline Elements

Understanding the difference between block and inline elements was pivotal. Block elements (<div>, <p>, <h1>-<h6>) span the full width of their container, creating distinct sections. Inline elements (<span>, <a>, <strong>) flow within a line of text. Mastering these concepts enabled me to control the layout and flow of content, ensuring a coherent visual structure.

HTML <div>

The <div> element is a versatile container used to group other elements for styling and layout purposes. I frequently utilized <div> to create sections and apply CSS styles collectively. By combining <div> with classes and IDs, I achieved complex layouts and ensured consistent styling across different parts of the webpage.

HTML Classes

Classes in HTML, defined using the class attribute, allow for the application of CSS styles to multiple elements. I learned to create reusable styles by assigning the same class to various elements. This approach not only streamlined my CSS but also ensured uniformity across similar components, such as buttons and form fields.

HTML ID

The id attribute is unique to a single element and is used to target specific elements with CSS or JavaScript. Using IDs helped me apply distinct styles or behaviors to particular elements. For instance, I created unique sections on a page, like #header and #footer, to differentiate their styles and functionality.

HTML Iframes

Iframes (<iframe>) are used to embed external content, such as videos or other web pages, within a page. I used iframes to integrate multimedia elements seamlessly. Understanding the importance of setting appropriate width and height attributes, along with frameborder and allowfullscreen, ensured that the embedded content was responsive and user-friendly.

HTML JavaScript

Integrating JavaScript into HTML (<script>) allowed me to enhance interactivity and functionality. I learned to manipulate the DOM, handle events, and create dynamic content updates. This combination of HTML and JavaScript was crucial for developing responsive and interactive user interfaces, improving the overall user experience.

HTML File Paths

File paths in HTML define the location of resources like images, stylesheets, and scripts. I mastered the use of relative and absolute paths to ensure that resources were correctly linked and loaded. Understanding the directory structure and proper file organization was essential in maintaining a coherent and navigable project.

HTML <head>

The <head> section contains meta-information about the document, such as the title (<title>), character set (<meta charset="UTF-8">), and links to stylesheets (<link>) and scripts. Properly configuring the <head> improved the document’s SEO, accessibility, and loading performance. I ensured that essential resources were preloaded to enhance page speed and user experience.

HTML Layout

Creating effective layouts involved combining multiple HTML elements to structure the webpage. I used semantic elements like <header>, <nav>, <section>, <article>, and <footer> to improve readability and accessibility. Flexbox and CSS Grid were invaluable in creating responsive and adaptable layouts, allowing content to adjust seamlessly across different devices.

HTML Responsive Design

Responsive design ensures that web content adapts to various screen sizes and devices. I learned to use media queries in CSS to apply different styles based on the viewport size. Techniques like fluid grids, flexible images, and responsive typography were crucial in creating designs that looked and functioned well on both desktop and mobile devices.

Conclusion

Mastering HTML has been a transformative part of my UI/UX designing journey. Every aspect, from tables and lists to responsive design and JavaScript integration, has equipped me with the skills to create user-centered, accessible, and visually appealing web interfaces. This foundational knowledge is critical for any aspiring designer looking to make a significant impact in the digital world.