maxmiljan
maxmiljan

Reputation: 9

Why when I increase font size of input element button doesnt align properly?

When I try to increase font size of placeholder in input tag, my button next to input tag doesnt align properly. I tried to remove outline and border but that dont work. When I decrease font size button goes up, when increase font size it goes down.

*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body{
    font-family: 'Rubik', sans-serif;
}

.header{
    background: linear-gradient(90deg, #443e98 30%, #6086f3);
    height: 300px;
    position: relative;
}

.header h1{
    text-align: center;
    color: #ffff;
    font-size: 40px;
    font-weight: 500;
    margin-bottom: 50px;
}

.search-bar{
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}


.search-bar input{
    width: 300px;
    height: 50px;
    font-size: 20px;
}

.search-bar button{
    width: 50px;
    height: 50px;
}
<!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="preconnect" href="https://fonts.gstatic.com">
  <link href="https://fonts.googleapis.com/css2?family=Rubik:wght@400;500;700&display=swap" rel="stylesheet">
  <link rel="stylesheet" href="style.css">
  <title>IP Tracker</title>
</head>
<body>
  <div class="header">
    <h1>IP Address Tracker</h1>
    <div class="search-bar">
      <input type="text" placeholder="Search for any IP address or domain">
      <button>&#8250;</button>
    </div>
  </div>
  <div class="ip-bar"></div>
  <div class="map-section"></div>
</body>
</html>

Thank for all your help.

Upvotes: 0

Views: 111

Answers (2)

Chris W.
Chris W.

Reputation: 23280

If I'm understanding correctly you just want them to appear as a consistent row and stop acting as inline-block elements do by default and wrapping? If so you can utilize as shown below.

*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body{
    font-family: 'Rubik', sans-serif;
}

.header{
    background: linear-gradient(90deg, #443e98 30%, #6086f3);
    height: 300px;
    position: relative;
}

.header h1{
    text-align: center;
    color: #ffff;
    font-size: 40px;
    font-weight: 500;
    margin-bottom: 50px;
}

.search-bar{
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    /* Added CSS Below */
    display: flex;
    flex-direction: row;
}


.search-bar input{
    width: 300px;
    height: 50px;
    font-size: 20px;
}

.search-bar button{
    width: 50px;
    height: 50px;
}
<!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="preconnect" href="https://fonts.gstatic.com">
  <link href="https://fonts.googleapis.com/css2?family=Rubik:wght@400;500;700&display=swap" rel="stylesheet">
  <link rel="stylesheet" href="style.css">
  <title>IP Tracker</title>
</head>
<body>
  <div class="header">
    <h1>IP Address Tracker</h1>
    <div class="search-bar">
      <input type="text" placeholder="Search for any IP address or domain">
      <button>&#8250;</button>
    </div>
  </div>
  <div class="ip-bar"></div>
  <div class="map-section"></div>
</body>
</html>

Upvotes: 1

M-Coder
M-Coder

Reputation: 70

Try using the following CSS:

.search-bar{
   display: flex;
   align-items: center;
   justify-content: center;
}

Upvotes: 0

Related Questions