DEV Community

Cover image for Calculator UI in HTML and CSS
Rohit Yadav
Rohit Yadav

Posted on

3

Calculator UI in HTML and CSS

Web design is like a playground of creativity, and there's a new trend making waves – it's called Newmorphism. It's a cool mix of two design buddies – Neumorphism and Skeuomorphism. In this easy-to-follow guide, we'll create a basic calculator using HTML and CSS, diving into the soft shadows, gradients, and rounded corners that make Newmorphism stand out.

Understanding Newmorphism

So, what's Newmorphism all about? It's a design style that combines Neumorphism's soft shadows (making things look touchable) with Skeuomorphism's realistic design elements. The result? An awesome, user-friendly interface that's easy on the eyes.

Let's Build a Newmorphism Calculator

HTML Setup

We'll kick things off by setting up the basic structure for our calculator. Copy and paste the following code into your HTML file:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="style.css">
    <link rel="stylesheet" href="utils.css">
    <title>Calculator</title>
</head>
<body>
    <div class="container flex items-center">
        <div class="content flex-col items-center">
            <div class="items flex-col items-center">
                <input type="text">
                <!-- Buttons for numbers and operations -->
            </div>
        </div>
    </div>
    <script src="script.js"></script>
</body>
</html>
Enter fullscreen mode Exit fullscreen mode

CSS Styles

Now, let's add some style magic to our calculator. We've split the styles into two files – utils.css for utility classes and style.css for the main design. Copy and paste the following codes into their respective files.

utils.css:

.bg-red {
    background: red;
}

.danger {
    color: white;
    background: rgba(255, 0, 0, 0.6);
}

.danger:hover {
    box-shadow: 5px 5px 10px rgba(255, 111, 111, 0.5), -5px -5px 10px rgba(255, 111, 111, 0.5);
}

.success {
    color: rgb(0, 0, 0);
    background: rgba(0, 255, 47, 0.6);
}

.success:hover {
    box-shadow: 5px 5px 10px rgba(125, 255, 111, 0.5), -5px -5px 10px rgba(125, 255, 111, 0.5);
}

.flex {
    display: flex;
}

.flex-col {
    display: flex;
    flex-direction: column;
}

.items-center {
    align-items: center;
    justify-content: center;
}
Enter fullscreen mode Exit fullscreen mode

style.css:

@import url('https://fonts.googleapis.com/css2?family=Roboto&family=Ubuntu&display=swap');

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Roboto', sans-serif;
}

body {
    background-color: #e0e5ed;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.container {
    height: 100vh;
}


.content {
    width: 330px;
    height: 450px;
    border-radius: 10px;
    background-color: #e0e5ed;
    box-shadow: 9px 9px 16px rgb(163, 177, 198, 0.6), -9px -9px 16px rgba(255, 255, 255, 0.5);
}

.btn {
    width: 55px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 15px 20px;
    font-size: 1.3rem;
    border-radius: 10px;
    margin: 5px;
    background-color: #e0e5ed;
    box-shadow: 5px 5px 10px rgb(163, 177, 198, 0.6), -5px -5px 10px rgba(255, 255, 255, 0.5);
    font-weight: 600;
    cursor: pointer;
}

.btn:hover {
    box-shadow: inset 5px 5px 10px rgb(163, 177, 198, 0.6), inset -5px -5px 10px rgba(255, 255, 255, 0.5);
}

.items input {
    padding: 10px;
    margin: 10px;
    font-size: 1.5rem;
    width: 240px;
    border: none;
    border-radius: 5px;
}
Enter fullscreen mode Exit fullscreen mode

Preview

This image shows the final product we made in this blog

Preview

Conclusion

In this guide, we explored the world of Newmorphism – a trendy design style. By creating a simple calculator with HTML and CSS, we embraced the soft shadows, gradients, and rounded corners that define Newmorphism. As a beginner, experimenting with these design trends can make your projects look modern and delightful. Keep exploring, and most importantly, have fun with your designs!

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs