Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

233
Vistas
How to have a centered heading and a button on the same line?

I'm trying to add a heading in the centre and a button on the right hand side to change the webpage to light/dark mode and be on the same line.

This code has the heading in the centre and the button on the right, but it doesn't have it on the same line.

Tried solving it with other stackoverflow posts but they didn't work.

function myFunction() {
  var element = document.body;
  element.classList.toggle("dark-mode");
}
body {
  background-color: black;
  color: white;
  font-size: 25px;
  -webkit-transition: .4s;
}

.dark-mode {
  background-color: white;
  color: black;
  -webkit-transition: .4s;
}

.item {
  text-align: center;
}

.item last-child {
  float: right
}

.heading {
  display: in-line;
}

.switch {
  position: relative;
  display: inline-block;
  width: 60px;
  height: 34px;
  float: right;
  margin-right: 10px;
}

.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: black;
  -webkit-transition: .4s;
  transition: .4s;
}

.slider:before {
  position: absolute;
  content: "";
  height: 26px;
  width: 26px;
  left: 4px;
  bottom: 4px;
  background-color: white;
  -webkit-transition: .4s;
  transition: .4s;
}

input:checked+.slider {
  background-color: white;
}

input:checked+.slider:before {
  -webkit-transform: translateX(26px);
  -ms-transform: translateX(26px);
  transform: translateX(26px);
  background-color: black
}

.slider.round {
  border-radius: 34px;
}

.slider.round:before {
  border-radius: 50%;
}
<!DOCTYPE html>
<html>

<head>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Cats.</title>
</head>

<body>
  <div class="item">
    <h1 class="heading">Cats!</h1>
    <label class="switch">
      <input type="checkbox" onclick="myFunction()" checked>
      <span class="slider round"></span>
    </label>
    <script src="scripts/script.js"></script>
  </div>
</body>

</html>

https://jsfiddle.net/2p8f04d7/

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Use flexbox

Change Some CSS like

.item {
  text-align:center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.heading {
  flex:1;
}

https://jsfiddle.net/lalji1051/0yckaw9h/1/

about 4 years ago · Juan Pablo Isaza Denunciar

0

function myFunction() {
     var element = document.body;
     element.classList.toggle("dark-mode");
    }
body {
  background-color: black;
  color: white;
  font-size: 25px;
  -webkit-transition: .4s;
}

.dark-mode {
  background-color: white;
  color: black;
  -webkit-transition: .4s;
}

.item {
  text-align:center;
  display: flex;
  justify-content: center;
}

.item last-child {
  float:right
}

.heading {
  display:in-line;
}

.switch {
  position: relative;
  display: inline-block;
  width: 60px;
  height: 34px;
  float:right; 
  margin-right:10px;
}

.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color:black;
  -webkit-transition: .4s;
  transition: .4s;
}

.slider:before {
  position: absolute;
  content: "";
  height: 26px;
  width: 26px;
  left: 4px;
  bottom: 4px;
  background-color: white;
  -webkit-transition: .4s;
  transition: .4s;
}

input:checked + .slider {
  background-color:white;
}

input:checked + .slider:before {
  -webkit-transform: translateX(26px);
  -ms-transform: translateX(26px);
  transform: translateX(26px);
  background-color:black
}

.slider.round {
  border-radius: 34px;
}

.slider.round:before {
  border-radius: 50%;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="css/style.css" rel="stylesheet" type="text/css">
<title>Cats.</title>
</head>
<body>
  <div class="item">
    <div style='width: 100%'>
        <h1 class="heading">Cats!</h1>
    </div>
    <div style='width: 0'>
        <label class="switch">
      <input type="checkbox" onclick="myFunction()" checked>
      <span class="slider round"></span>
    </label>
    </div>
    <script src="scripts/script.js"></script>
  </div>
</body>
</html>

about 4 years ago · Juan Pablo Isaza Denunciar

0

Use Grid

change in css

.item {
  text-align:center;
  display: grid;
  grid-auto-flow: column;
  grid-template-columns: 4fr;}
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda