We Love HTML5

We make extensive use of HTML5 in all of our builds, doing our best to instil semantic value into the layouts we write. We try to keep our HTML consistent and easy to read/write so that anyone can pick up a project and start working with it.

Class Naming

While we don’t follow any specific class naming schemes, e.g. BEM, we do try to keep a consistent, common sense approach.

Dashes for spaces

We don’t use camel case, opting for dashes where word separation is required.

<article class="subscription-cta-component">
    <!-- ... -->
</article>

Add classes where required

We identify all components with classes at the root element, giving semantic class names. We also add classes to unique elements within that component when we need to style them.

<article class="subscription-cta-component">
    <header class="subscription-cta-header">
        <h3>You should subscribe to our mailing list</h3>
        <p>Lorem ipsum dolor sit amet pede...</p>
    </header>

    <div class="subscription-cta-body">
        <label for="email">Subscribe with your email</label>
        <input name="email" type="email" placeholder="email@example.com" />
    </div>
</article>

In this example classes have been added to the header and body elements of the widget so they can be styled without nesting, allowing us to write SCSS like so:

.subscription-cta-component {
    /* ... */
}

.subscription-cta-header {
    /* ... */
}

.subscription-cta-body {
    /* ... */
}

Avoid using IDs

We try to avoid using IDs in HTML unless we need to uniquely identify elements for JavaScript purposes. This is because IDs are weighted so strongly in CSS, making it difficult to override styles later in the stylesheet.

The following example is acceptable so long as the IDs are not used for styling.

<ul class="todo-listing">
    <li class="todo-list-item" id="guid-123"><!-- ... --></li>
    <li class="todo-list-item" id="guid-124"><!-- ... --></li>
    <li class="todo-list-item" id="guid-124"><!-- ... --></li>
</ul>

Be part of the Crowd

We're always on the lookout for talent, and currently have offices in the USA, Canada, UK, Dubai, and China.

If you fancy being a part of a global multicultural development team that strives to do the best work possible, email us at results@thisiscrowd.com