UI Design
Introduction to UI Design
UI Design Process
Ideas and Concepts in UI Design
Wireframing
Visual Design
Interaction Design
Handoff to Development
Launch and Post-Launch
Text Styles in Figma
Color Styles in Figma
Components in Figma
Variants in Figma
Properties in Figma
Auto Layout in Figma
Basic Structure of Screens
Naming Conventions in Web Design
Naming Conventions in Mobile Design
Constraints in Figma
Fonts in Figma
Colors and Gradients in Figma
Working with Images in Figma
Effects in Figma
Creating a UI Kit
Creating a Style Guide
Using Grids and Rows
Color Theory in Design
Typography in Design
Composition in UI Design
References in Design
Naming Conventions in Web Design
Establishing clear and consistent naming conventions in web design is essential for maintaining an organized workflow, ensuring efficient collaboration, and simplifying the development process. Proper naming conventions help designers, developers, and other stakeholders quickly understand the structure and purpose of elements, making it easier to update, maintain, and scale the project. Below is a guide on how to approach naming in web design, including key areas such as files, components, classes, and pages.
1. File Naming Conventions
File names should be clear, concise, and descriptive. This helps team members quickly identify the purpose and content of each file. Here are some best practices:
Use Lowercase Letters: Keep all file names in lowercase to avoid inconsistencies, especially in case-sensitive environments.
Example:
header.png
,footer.css
Hyphenate or Underscore for Spacing: Use hyphens (
-
) or underscores (_
) to separate words for readability.Example:
home-page-design.sketch
,button-styles.css
Descriptive Names: Make sure file names describe their content or purpose.
Example:
hero-image.jpg
(an image used in the hero section),main-navigation.html
(HTML file for the main navigation)
Version Control: If versioning is needed, include the version number at the end of the file name.
Example:
homepage-v2.png
,header-v1.1.sketch
2. Component Naming Conventions
Components are reusable elements in a design system, such as buttons, cards, or forms. Naming components consistently is crucial for clarity and reusability.
Use Hierarchical Naming: Components should be named hierarchically, reflecting their structure and relationship within the design system.
Example:
button/primary
,button/secondary
,card/product
,form/input-text
Use Descriptive Names: Clearly describe the function or purpose of the component in its name.
Example:
navbar/main
,modal/login
,card/featured-product
State Variants: When a component has different states (e.g., hover, active, disabled), include the state in the name.
Example:
button/primary/hover
,input-text/error
,dropdown/open
Size Variants: For components that come in different sizes, include the size in the name.
Example:
button/primary/small
,button/primary/large
,icon/user/small
3. Class Naming Conventions (CSS/HTML)
Class names in CSS should follow a consistent pattern to make styling more manageable and scalable. The BEM (Block, Element, Modifier) methodology is a popular approach.
Block: Represents a standalone component (e.g.,
navbar
,button
).Element: Represents a child element of a block, prefixed with a double underscore (
__
).Example:
navbar__link
,button__icon
Modifier: Represents a different state or variation of a block or element, prefixed with a double hyphen (
--
).Example:
button--primary
,button--disabled
,navbar__link--active
Use Consistent Naming: Always follow the same pattern for class names to maintain consistency.
Example:
card__title
,card__image
,card__title--large
Avoid Abbreviations: Use full words instead of abbreviations for clarity, unless the abbreviation is universally understood.
Example:
button--primary
instead ofbtn--primary
4. Page and Section Naming
The naming of pages and sections should clearly reflect their content and position within the site hierarchy.
Page Names: Use descriptive names that indicate the purpose or content of the page.
Example:
home
,about-us
,contact
,product-details
Section Names: For sections within a page, use names that describe the content or function.
Example:
hero
,testimonial-section
,footer
,pricing-table
Avoid Special Characters: Stick to alphanumeric characters, hyphens, and underscores to avoid compatibility issues.
Example:
faq-section
,our-team
5. Image and Asset Naming Conventions
Images and other assets should be named descriptively to indicate their use in the design.
Descriptive Naming: Clearly describe the content or purpose of the image or asset.
Example:
hero-background.jpg
,testimonial-avatar.png
,logo.svg
Version and Resolution: Include version numbers or resolution details if there are multiple versions of an asset.
Example:
logo-v2.svg
,banner-1080p.jpg
File Format Consistency: Choose consistent file formats based on the type of asset (e.g., use
.svg
for vector graphics,.jpg
for photos).
6. Project Folder Structure
Organizing files within folders according to their type or function can greatly improve the maintainability of a project.
Top-Level Folders: Group related files into top-level folders such as
assets
,styles
,scripts
,components
.Example:
├── assets
│ ├── images
│ ├── fonts
│ ├── icons
├── styles
│ ├── base.css
│ ├── components.css
├── scripts
│ ├── main.js
│ ├── vendor
├── components
│ ├── button.html
│ ├── navbar.html
Nested Folders: Within top-level folders, use nested folders for further organization.
Example:
assets/
images/
icons/
fonts/
styles/
base.css
layout.css
components/
buttons.css
forms.css
Establishing clear and consistent naming conventions in web design is essential for creating an organized, maintainable, and scalable project. By adhering to best practices for naming files, components, classes, and pages, you can ensure that everyone on the team—designers, developers, and stakeholders—can easily navigate and understand the structure of your project. This approach not only enhances collaboration but also makes it easier to maintain and update the design as it evolves.