JSFiddle - React, Tailwind, and code Playground
HTML
<div class="main_screen_box">
<div class="title_box">
<span>TITLE</span>
</div>
<div class="main_box">
<div class="top_header_box">
<div class="top_header_left_box">
<span><a>Welcome anonymous</a></span>
</div>
<div class="top_header_center_box">
<span><a href="#" class="button">Register</a></span>
</div>
<div class="top_header_right_box">
<span><a >Login input here</a></span>
</div>
</div>
<div class="center_top_box">
<div class="error_box">
</div>
</div>
<div class="empety_space_box">
</div>
<div class="register_box">
<form method="register">
<span><a>Register form</a></span><br>
<span><a>Name</a></span><br>
<input type="text" name="name" /><br>
<span><a>Choose a password</a></span><br>
<input type="password" name="pass" /><br>
<button type="submit" name="btn-login">Login</button>
</form>
</div>
<div class="welcome_box">
<span><a>Welcome part, bla bla bla bla</a></span>
</div>
</div>
CSS
html, body {
height: 100%;
margin: 0;
background: #000;
color: white;
}
.main_screen_box {
height: 100%;
padding: 0;
margin: 0;
display: flex;
align-items: center;
justify-content: space-around;
box-sizing: border-box;
flex-direction: column;
}
.title_box {
display: flex;
font-size: xx-large;
}
.main_box {
display: block;
width: 75%;
height: 75%;
border: 2px solid gray;
}
.top_header_box {
display: flex;
justify-content: space-between;
border: 1px solid gray;
width: 100%;
height: 35px;
}
.top_header_left_box {
box-sizing: border-box;
border: 1px solid gray;
text-align: left;
width: 250px;
height: 100%;
}
.top_header_center_box {
box-sizing: border-box;
border: 1px solid gray;
text-align: center;
width: 150px;
height: 100%;
}
.button {
background-color: black;
border: none;
color: white;
text-align: center;
text-decoration: none;
font-size: 16px;
}
.top_header_right_box {
box-sizing: border-box;
border: 1px solid gray;
text-align: right;
width: 350px;
height: 100%;
}
.center_top_box {
display: flex;
box-sizing: border-box;
justify-content: center;
border: 1px solid red;
width: 100%;
height: 35px;
}
.error_box {
display: flex;
box-sizing: border-box;
justify-content: center;
border: 1px solid blue;
width: 100%;
height: 35px;
color: red;
}
.empety_space_box {
display: flex;
box-sizing: border-box;
justify-content: center;
border: 1px solid blue;
width: 100%;
height: 35px;
}
.register_box {
display: none;
box-sizing: border-box;
justify-content: center;
align-items: center;
border: 1px solid blue;
width: 100%;
height: 200px;
}
.welcome_box {
display: flex;
box-sizing: border-box;
justify-content: center;
align-items: center;
border: 1px solid blue;
width: 100%;
height: 200px;
}
*:focus ~ .register_box {
display: flex;
}
*:focus ~ .welcome_box {
display: none;
}