I want to join 2 html pages but getting distorted output
I have two html pages one for navbar and other for contact form, when i try to join them both i get distorted single page. Image will be included below. I tried making section but its not helping out:/ This is for a django project so codes might b slightly different. Thanks in advance :)
html of navbar
<nav>
<div class="logo">
<a class="h4" href="{% url 'home' %}">Nihaal Nz</a>
</div>
<ul class="nav-links">
<li><a href="{% url 'about' %}">About</a></li>
<li><a href="#">Cool Cloud</a></li>
<li><a href="{% url 'contact' %}">Contact</a></li>
</ul>
</nav>
html of contact page
<div class="container">
<form class="shake" action="{% url 'contact' %}" role="form" method="post" id="contactForm"
name="contact-form" data-toggle="validator">
{% csrf_token %}
<h2>Let me know what you felt.</h2>
<div class="row100">
<div class="col">
<div class="inputBox">
<input type="text" name="name" required="required">
<span class="text">First Name</span>
<span class="line"></span>
</div>
</div>
</div>
<div class="row100">
<div class="col">
<div class="inputBox">
<input type="text" name="email" required="required">
<span class="text">Email</span>
<span class="line"></span>
</div>
</div>
<div class="col">
<div class="inputBox">
<input type="text" name="subject" required="required">
<span class="text">Subject</span>
<span class="line"></span>
</div>
</div>
</div>
<div class="row100">
<div class="col">
<div class="inputBox textarea">
<textarea name="message" required data-error="Write your message"></textarea>
<span class="text">Type your message here...</span>
<span class="line"></span>
</div>
</div>
</div>
<div class="row100">
<div class="col">
<input type="submit" value="Send">
</div>
</div>
</div>
combined html code
{% load static %}
<link rel="stylesheet" href="{% static "portofolio/css/contacts.css" %}">
{% block content %}
<body>
<section>
<nav>
<div class="logo">
<a class="h4" href="{% url 'home' %}">Nihaal Nz</a>
</div>
<ul class="nav-links">
<li><a href="{% url 'about' %}">About</a></li>
<li><a href="#">Cool Cloud</a></li>
<li><a href="{% url 'contact' %}">Contact</a></li>
</ul>
</nav>
</section>
<div class="container">
<form class="shake" action="{% url 'contact' %}" role="form" method="post" id="contactForm"
name="contact-form" data-toggle="validator">
{% csrf_token %}
<h2>Let me know what you felt.</h2>
<div class="row100">
<div class="col">
<div class="inputBox">
<input type="text" name="name" required="required">
<span class="text">First Name</span>
<span class="line"></span>
</div>
</div>
</div>
<div class="row100">
<div class="col">
<div class="inputBox">
<input type="text" name="email" required="required">
<span class="text">Email</span>
<span class="line"></span>
</div>
</div>
<div class="col">
<div class="inputBox">
<input type="text" name="subject" required="required">
<span class="text">Subject</span>
<span class="line"></span>
</div>
</div>
</div>
<div class="row100">
<div class="col">
<div class="inputBox textarea">
<textarea name="message" required data-error="Write your message"></textarea>
<span class="text">Type your message here...</span>
<span class="line"></span>
</div>
</div>
</div>
<div class="row100">
<div class="col">
<input type="submit" value="Send">
</div>
</div>
</div>
</body>
{% endblock %}
css of navbar
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
nav {
display: flex;
justify-content: space-around;
align-items: center;
min-height: 12vh;
background-color: rgba(93, 73, 84,0.5);
font-family: 'Poppins', sans-serif;
}
.logo {
color: rgb(226,226,226);
text-transform: uppercase;
letter-spacing: 5px;
font-size: 20px;
text-decoration: none;
}
.nav-links{
display: flex;
justify-content: space-around;
width: 30%;
}
.nav-links li{
list-style: none;
}
.nav-links a{
color: rgb(226,226,226);
text-decoration: none;
letter-spacing: 3px;
font-weight: bold;
font-size: 14px;
}
.h4{
text-decoration: none;
color: rgb(226,226,226)
}
css of contact page
*{
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Poppins', sans-serif;
}
body{
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
background: #051115;
font-family: 'Poppins', sans-serif;
}
.container {
width: 80%;
padding: 20px;
}
.container h2{
width: 100%;
color: #45f3ff;
font-size: 36px;
text-align: center;
margin-bottom: 10px;
}
.container .row100{
position: relative;
width: 100%;
display: grid;
grid-template-columns: repeat(auto-fit,minmax(300px,1fr));
}
.container .row100 .col {
position: relative;
width: 100%;
padding: 0 10px;
margin: 30px 0 10px;
transition: 0.5s;
}
.container .row100 .inputBox{
position: relative;
width: 100%;
height: 40px;
color: #45f3ff;
}
.container .row100 .inputBox input,
.container .row100 .inputBox.textarea textarea{
position: absolute;
width: 100%;
height: 100%;
background: transparent;
box-shadow: none;
border: none;
outline: none;
font-size: 18px;
padding: 0 10px;
z-index: 1;
color: #000000;
}
.container .row100 .inputBox .text{
position: absolute;
top: 0;
left: 0;
line-height: 40px;
font-size: 18px;
padding: 0 10px;
display: block;
transition: 0.5s;
pointer-events: none;
}
.container .row100 .inputBox input:focus + .text,
.container .row100 .inputBox input:valid + .text {
top: -35px;
left: -10px;
}
.container .row100 .inputBox .line{
position: absolute;
bottom: 0;
display: block;
width: 100%;
height: 2px;
background: #45f3ff;
transition: 0.5s;
border-radius: 2px;
pointer-events: none;
}
.container .row100 .inputBox input:focus ~ .line,
.container .row100 .inputBox input:valid ~ .line{
height: 100%;
}
.container .row100 .inputBox.textarea{
position: relative;
width: 100%;
height: 100px;
padding: 10px 0;
}
.container .row100 .inputBox.textarea textarea{
height: 100%;
resize: none;
}
.container .row100 .inputBox textarea:focus + .text,
.container .row100 .inputBox textarea:valid + .text {
top: -35px;
left: -10px;
}
.container .row100 .inputBox textarea:focus ~ .line,
.container .row100 .inputBox textarea:valid ~ .line{
height: 100%;
}
input[type="submit"]{
border: none;
padding: 7px 35px;
cursor: pointer;
outline: none;
background: #45f3ff;
color: #000000;
font-size: 18px;
border-radius: 2px;
}
Solution 1:
The display:flex
on the body CSS is causing this, change it to block (or something else) and it should line up as you want:
body {
display: block;
justify-content: center;
align-items: center;
min-height: 100vh;
background: #051115;
font-family: 'Poppins', sans-serif;
}