Nirajan Basnet Frontend Developer WEBO /nirazanbasnet
Introduction
UI/UX and Frontend Development
Basic Usage of HTML and CSS
Syntax, implementation and demo
Most Unseen mistakes
Where UI meets actual real scenario
Solutions
How we can be on both sides
Resources
Let's get inspired
Summary
Happy US !!
Design of user interfaces for machines and software with the focus on maximizing the user experience.
The goal is to make the user's interaction as simple and user-centred design.
Process design to provide meaningful and relevant experiences to users.
It involves the entire process of acquiring and integrating the product, including aspects of branding, design, usability and function
Client-Side Development (HTML, CSS & JavaScript) for a website.
Hyper Text Markup Language
Modification of the appearance of web pages, as well as making adjustments to their appearance.
Structure and present content for the web.
Use of proper semantic tags
<!doctype html>
<html class="no-js" lang="">
<head>
<meta charset="utf-8">
<title></title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="manifest" href="site.webmanifest">
<link rel="apple-touch-icon" href="icon.png">
<!-- Place favicon.ico in the root directory -->
<link rel="stylesheet" href="css/normalize.css">
<link rel="stylesheet" href="css/main.css">
<meta name="theme-color" content="#fafafa">
</head>
<body>
<!--[if IE]>
<p class="browserupgrade">You are using an <strong>outdated</strong> browser. Please <a href="https://browsehappy.com/">upgrade your browser</a> to improve your experience and security.</p>
<![endif]-->
<!-- Add your site or application content here -->
<p>Hello world! This is HTML5 Boilerplate.</p>
<header>This is header</header>
<main>
This is main container
</main>
<footer>This is header</footer>
<script src="js/main.js"></script>
</body>
</html>
Semantic HTML elements clearly describe it's meaning in a human and machine-readable way.
Such as <header>, <footer>, <article>
They describe the purpose on the element and the type of content that is inside them
Cascading Style Sheets
Describes how HTML elements are to be displayed on the screen, paper, or in other media
Controls the layout of multiple web pages all at once
It defines styles for your web pages, including the design, layout in display for different devices and screen sizes.
.card {
display: inline-block;
width: 480px;
margin: 16px auto;
font-size: 16px;
text-decoration: none;
overflow: hidden;
box-shadow: 0 0 3rem -1rem rgba(0,0,0,0.5);
transition: transform 0.1s ease-in-out, box-shadow 0.1s;
}
.card:hover {
transform: translateY(-0.5rem) scale(1.0125);
box-shadow: 0 0.5em 3rem -1rem rgba(0,0,0,0.5);
}
.card-description {
display: block;
padding: 10px 16px;
color: #515151;
text-decoration: none;
}
You don’t need to design every single feature in an app before you move on to implementation; in fact, it’s better if you don’t.
Figuring out how every feature in a product should interact and how every edge case should look is really hard, especially in the abstract.
You’re setting yourself up for frustration by trying to figure this stuff out using only a design tool and your imagination.
Instead of designing everything up front, work in short cycles.
Start by designing a simple version of the next feature you want to build.
You’ll probably run into some unexpected complexity, but that’s the point — it’s a lot easier to fix design problems in an interface you can actually use than it is to imagine every edge case in advance.
Don’t imply functionality in your designs that you aren’t ready to build.
For example, say you’re working on a comment system for a project management tool.
The thing is, a comment system with no attachments would still have been better than no comment system at all, but because you planned to include it from day one you’ve got nothing you can ship.
Designing the smallest useful version you can ship reduces that risk considerably
If part of a feature is a “nice-to-have”, design it later.
Should this text be 12px or 13px?
Should this box shadow have a 10% opacity or a 15% opacity?
Should this avatar be 24px or 25px tall?
Should I use a medium font weight for this button or semibold?
Should this headline have a bottom margin of 18px or 20px?
When you’re designing without constraints, decision-making is torture because there’s always going to be more than one right choice.
Define systems in advance
Instead of hand-picking values from a limitless pool any time you need to make a decision, start with a smaller set of options
You’ll want systems for things like:
• Font size • Font weight • Line height • Color • Margin • Padding • Width • Height • Box shadows • Border radius • Border width • Opacity
When you build systems like this, you only have to do the hard work of picking the initial values once instead of every time you’re designing a new piece of UI.
Relying too much on font size to control your hierarchy is a mistake
You shouldn’t be nitpicking between 120px and 125px when trying to decide on the perfect size for an element in your UI.
Painfully trialing arbitrary values one pixel at a time will drastically slow you down at best, and create ugly, inconsistent designs at worst
Instead, limit yourself to a constrained set of values, defined in advance.
Using a system like a 12-column grid is a great way to simplify layout decisions, and can bring a satisfying sense of order to your designs.
Explore UI on Dribbble
Follow Design channels on YOUTUBE
Explore the frontend Design on Themeforest
Play the design on Codepen
Participate on the meetups and communitites
Follow design magazines
Take screenshots of the live websites and make categorisation to that
Communication is key
Front-end can help you to design more realistic UIs and smooth the process between conceptualization and implementation.
An advantages of having frontend world, they can speak the same language as the developers, design in the browser, and prototype their ideas.
Can make more intelligent design decisions, better understanding of the possibilities, limitations, and the tradeoffs.
It’s important to have a developer’s perspective on design: understand what’s possible/impossible to create, and evaluate the effort required for the development.
Nirajan Basnet Frontend Developer WEBO /nirazanbasnet