首先,我的代码是基于3个文件,一个HTML,一个CSS和一个JS,应该注意的是,我正在使用Bootstrap 5.1.3框架创建HTML。
我的问题是,首先,我作为案例研究的服装品牌的徽标没有居中,我已经尝试了一切使其在标题中居中,然而,我不可能实现它。我还补充说,我有一个下拉搜索引擎,也就是说,我按下搜索图标,它会在右侧显示一个文本输入框,好吧,当这种情况发生时,所说的框出现了,标志,除了不居中,它向左滚动更多(因为我在右边搜索),我不知道到底发生了什么。
我知道这很可能是由于容器的原因,但我也试图减少徽标容器并将其居中,然而,没有任何结果,它仍然完全相同。我希望你能帮助我。我试图研究框架,但这个小细节,不让我前进。
// selecciona el icono de búsqueda y el campo de búsqueda
const searchIcon = document.querySelector('.fa-search-icon');
const searchField = document.querySelector('.search-container input[type="text"]');
// agrega un event listener al icono de búsqueda
searchIcon.addEventListener('click', function() {
// muestra u oculta el campo de búsqueda
searchField.style.display = searchField.style.display === 'none' ? 'block' : 'none';
});
.navbar {
height: 72px;
background-color: #fff;
margin-bottom: 0;
position: relative;
justify-content: center;
}
.nav-link {
display: flex;
justify-content: center;
}
/* Estilos para los enlaces del header */
.navbar-nav li a {
color: #333;
font-size: 14px;
font-weight: bold;
text-transform: uppercase;
display: flex;
align-items: center;
text-align: center;
}
/* Estilos para el logo */
.navbar-brand {
display: flex;
justify-content: center;
align-items: center;
width: 100%;
text-align: center;
}
/* Estilos para la imagen del logo */
.navbar-brand img {
height: 50px;
width: auto;
}
.navbar-center {
max-width: 300px;
/* ajustar el ancho máximo según tus necesidades */
margin: 0 auto;
/* centrar horizontalmente */
}
/* Estilos para el botón de hamburguesa en dispositivos móviles */
.navbar-toggler {
border-color: #333;
}
.navbar-toggler-icon {
background-color: #333;
}
/* Estilos para los enlaces Contact Us y Cart en pantallas pequeñas */
@media (max-width: 767px) {
/* Estilos para la barra de búsqueda en pantallas pequeñas */
.navbar-form {
display: flex;
align-items: center;
justify-content: center;
margin: auto;
margin-top: 10px;
border: none;
}
.navbar-form .form-control {
border-radius: 0;
background-color: #f2f2f2;
color: #333;
border: none;
width: 100%;
max-width: 300px;
font-size: 14px;
font-weight: bold;
padding: 10px;
margin-right: 0;
}
.navbar-form .input-group-text {
display: flex;
align-items: center;
justify-content: center;
background-color: #333;
color: #fff;
border: none;
padding: 10px;
margin-left: 10px;
border-radius: 0;
}
.navbar-form .input-group-text:hover,
.navbar-form .input-group-text:focus {
background-color: #000;
color: #fff;
}
}
/* Animación para desplazar el ícono a la izquierda */
.search-container input[type="text"] {
display: none;
}
.search-container {
display: flex;
align-items: center;
justify-content: center;
margin-left: auto;
}
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet"/>
<header>
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<div class="container">
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarContent" aria-controls="navbarContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarContent">
<ul class="navbar-nav mr-auto">
<li class="nav-item"><a class="nav-link" href="#">Men</a></li>
<li class="nav-item"><a class="nav-link" href="#">Women</a></li>
</ul>
<a class="navbar-brand" href="#">
<img src="logo.png" alt="Logo" style="max-width: 146px;">
</a>
<ul class="navbar-nav ms-auto">
<li class="nav-item search-container">
<input type="text" placeholder="Buscar...">
<a class="nav-link" href="#"><i class="fa fa-search fa-search-icon"></i></a></li>
<li class="nav-item"><a class="nav-link" href="#"><i class="fa fa-user"></i></a></li>
<li class="nav-item"><a class="nav-link" href="#"><i class="fa fa-star"></i></a></li>
<li class="nav-item"><a class="nav-link" href="#"><i class="fa fa-envelope-open"></i></a></li>
</ul>
</div>
</div>
</nav>
</header>
1.我试着正常居中的标志
1.我试着减少容器的标志
1.我试着从0开始重做代码
我已经尝试了几次和更多的改变css,使标志是中心,或减少容器的标志,但我仍然没有取得任何成果,标志总是停留在同一部分。
当我这样做的时候,是的,我还设法将徽标居中,结果是容器与标题重叠,因此无法选择标题的任何部分。
1条答案
按热度按时间mnemlml81#
首先,您应该尝试从
.navbar-brand
中删除width: 100%;
。你还应该添加以下代码:
使所有导航链接居中,并且:
以防止当搜索输入出现时徽标移动。