Skip to content

pjuawo/bookmark-landing-page

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Frontend Mentor - Bookmark landing page solution

This is a solution to the Bookmark landing page challenge on Frontend Mentor. Frontend Mentor challenges help you improve your coding skills by building realistic projects.

Table of contents

Overview

The challenge

Users should be able to:

  • View the optimal layout for the site depending on their device's screen size
  • See hover states for all interactive elements on the page
  • Receive an error message when the newsletter form is submitted if:
    • The input field is empty
    • The email address is not formatted correctly

Screenshot

Desktop View

Mobile View

Links

My process

Built with

  • Semantic HTML5 markup
  • CSS custom properties
  • Flexbox
  • CSS Grid
  • CSS Positioning
  • Mobile-first workflow

What I learned

Use this section to recap over some of your major learnings while working through this project. Writing these out and providing code samples of areas you want to highlight is a great way to reinforce your own knowledge.

To see how you can add code snippets, see below:

<button class="cta" data-type="inverted">Get it on Firefox</button>
<button class="tab-btn active" data-id="tab-1">Simple Bookmarking</button>
<div class="content active" id="tab-1">
  <div class="content-container">
    <div class="tab-img">
      <img src="./images/illustration-features-tab-1.svg" alt="illustration" />
    </div>
    <div class="tab-text">
      <h1 class="primary-heading">Bookmark in one click</h1>
      <p>
        Organize your bookmarks however you like. Our simple drag-and-drop
        interface gives you complete control over how you manage your favourite
        sites.
      </p>
      <a class="cta hide" href="#">More Info</a>
    </div>
  </div>
</div>
<hr class="hr" />
--clr-neutral-100: hsl(0, 0%, 100%);
--clr-neutral-200: hsl(0, 0%, 97%);
.container {
  padding-block: var(--size-700);
  margin: var(--size-450);
}
.logo .circle-fill {
  fill: var(--clr-primary-600);
}
.logo .path-fill {
  fill: var(--clr-neutral-100);
}
.hero__image::before {
  width: 86%;
  border-top-left-radius: 100vmax;
  border-bottom-left-radius: 100vmax;
  bottom: -20px;
  left: 20%;
}
.cta[data-type="inverted"]:hover {
  background-color: var(--clr-neutral-100);
  color: var(--clr-neutral-600);
  border: 1px solid var(--clr-neutral-600);
  box-shadow: none;
}
.question:last-of-type {
  margin-bottom: var(--size-700);
}
.card-one {
  align-self: flex-start;
}
.card-two {
  align-self: center;
}
.card-three {
  align-self: flex-end;
}
const close = () => {
  navList.style.top = "-100%";
  openMenu.style.visibility = "visible";
  logoText.style.color = "hsl(229, 31%, 21%)";
  logoCircle.style.color = "hsl(231, 69%, 60%)";
};

Continued development

  • Form Submission error messages
  • Nesting of HTML 5 Elements
  • Responsive Web development

Useful resources

  • CSS Resets - This helped me to "reset" or "normalize" the default styles applied by web browsers to HTML elements. It created a consistent base styling across all browsers and devices, which can made it easier to build a custom design without being affected by default browser styles.I really liked this pattern and will use it going forward.
  • CSS Flex & Grid - This is an amazing book which helped me finally understand build components and layouts with CSS Flexboc and Grid. I'd recommend it to anyone still learning this concept.
  • CSS Variables and CSS Concepts - This is channel helped me to understand css variables and other css concepts. It helped me to fall in love with CSS.

Author

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published