JSFiddle - React, Tailwind, and code Playground
by pvtd264
HTML
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Code use case SoSMap</title>
<script src='https://cdn.jsdelivr.net/npm/@goongmaps/[email protected]/dist/goong-js.js'></script>
<link href='https://cdn.jsdelivr.net/npm/@goongmaps/[email protected]/dist/goong-js.css' rel='stylesheet' />
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.15.3/css/all.css"
integrity="sha384-SZXxX4whJ79/gErwcOYf+zWLeJdY/qpuqC4cAa9rOGUstPomtqpuNWT9wdPEn2fk" crossorigin="anonymous">
<style>
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500&display=swap');
</style>
</head>
<body>
<script src="https://cdn.jsdelivr.net/npm/@goongmaps/[email protected]/dist/goong-geocoder.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/@goongmaps/[email protected]/dist/goong-geocoder.css" rel="stylesheet"
type="text/css" />
<!-- Promise polyfill script is required -->
<!-- to use Goong Geocoder in IE 11. -->
<script src="https://cdn.jsdelivr.net/npm/es6-promise@4/dist/es6-promise.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/es6-promise@4/dist/es6-promise.auto.min.js"></script>
<div id='map'></div>
<div class="panel panel-top">
<div class="list-btn">
<button class="btn btn-blue"> <i class="fas fa-map-marker-alt"></i> Kiểm tra địa chỉ</button>
<button class="btn btn-light"> <i class="fas fa-phone"></i> Kiểm tra SĐT </button>
</div>
<div class="search-bar">
<button class="btn btn-icon btn-light"><i class="fas fa-bars"></i></button>
<input type="text" name="" id="">
<button class="btn btn-icon btn-light"><i class="fas fa-info-circle"></i></button>
<img class="flag" src="https://cdn.countryflags.com/thumbs/vietnam/flag-400.png" alt="">
</div>
<div class="list-btn">
<button class="btn btn-red"><span class="data-num">XXX</span> CẦN NHẬN</button>
<button class="btn btn-yellow"><span class="data-num">XXX</span> CẦN...
CSS
* {
font-family: 'Roboto', sans-serif;
}
body {
margin: 0;
padding: 0;
}
#map {
position: absolute;
top: 0;
bottom: 0;
width: 100%;
}
.panel {
position: absolute;
left: 50%;
transform: translate(-50%, 0%);
width: 485px;
display: flex;
flex-direction: column;
flex-wrap: wrap;
align-items: center;
}
.panel-top {
top: 0;
}
.panel-bottom {
bottom: 1rem;
}
.btn {
border-radius: 1rem;
line-height: 1.7rem;
border: none;
color: #fff;
font-weight: 500;
padding: 0.2rem 1.8rem;
margin: 0.4rem 0.2rem;
outline: none;
}
.btn-icon {
padding: 0.2rem 0.6rem;
border-radius: 5px;
}
.btn-blue {
background-color: #0055a9;
}
.btn-light {
background-color: #fff;
color: #0055a9;
}
.btn-red {
background-color: #e44848;
}
.btn-yellow {
background-color: #ffa84e;
}
.btn-green {
background-color: #76c9a5;
}
.text-red {
color: #e44848;
}
.fas {
padding-right: 3px;
}
.search-bar .fas {
padding-right: 0px;
}
.flag {
width: 2.4rem;
height: auto;
margin-bottom: -9px;
}
.search-bar input {
line-height: inherit;
box-sizing: border-box;
font-size: 14px;
outline: none;
border: none;
border-radius: 4px;
padding: 10px 35px 10px 10px;
background-color: white;
transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
width: 21rem;
}
.data-num {
font-size: 1rem;
}