Как поставить значки в соответствие с другими тегами?
Я только начал изучать веб-разработку и столкнулся с несколькими проблемами, связанными с выравниванием тегов, кнопок и значков.
Вот проблемы, с которыми я сталкиваюсь:
Название бренда не соответствует тегам a. я попробовал дисплей: встроенный; в каждом классе, но это не работает.
теги социальных сетей висят в воздухе, я хочу, чтобы они соответствовали тегам a. Я снова попытался уменьшить поля, отступы и использовать встроенную команду, но, похоже, ничего не работает.
Кнопка поиска начальной загрузки также висит в воздухе. Я хочу, чтобы все вышеперечисленные три были в соответствии.
И вот код
header {
background: #669999;
color: white;
padding: 5px 5px 5px 15px;
}
.fontsize {
color: white;
margin: 0px 0px 0px 10px;
font-size: 25px;
padding: 5px;
}
.icon {
float: right;
list-style-type: none;
margin: 0px 10px 0px 10px;
padding: 5px;
display: inline;
}
body {
margin: 0px;
}
.colors {
margin: 5px 10px 5px 10px;
padding: 10px;
color: white;
}
a:hover.colors {
color: black;
text-decoration: none;
}
.picturefont {
font-size: 25;
font-style: italic;
}
.whitespace {
padding: 10px;
margin: 50px;
}
#margin {
margin: 0px;
}
.frontpageimage {
width: 90%;
display: inline;
border: 1px solid black;
}
<h1 class="fontsize"> Brand name </h1>
<nav>
<a class="colors" href="home.html"> Home </a>
<a class="colors" href="contact.html"> Contact </a>
<a class="colors" href="recipe.html"> Recipes </a>
<a class="colors" href="order.html"> Order </a>
<ul>
<li class="icon">
<a href="#"><img src="icon-insta.png"></a>
</li>
<li class="icon">
<a href="#"><img src="fb-icon.png"></a>
</li>
<li class="icon">
<a href="#"><img src="phone-icon.png"> </a>
</li>
</ul>
</nav>
<form id="margin" class="navbar-form navbar-right">
<div class="form-group">
<input type="text" class="form-control" placeholder="Search">
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form>
<ul class="nav navbar-nav navbar-right">
<!-- <li><a href="#">Link</a></li> -->
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <span
class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
</header>
<body>
<div class="row">
<div class="col-sm-2 whitespace picturefont">
<a href="recipe.html">
<img class="frontpageimage" src="oreo-cake.jpg"></a> Chocolate Cake</div>
<div class="col-sm-2 whitespace picturefont">
<a href="recipe.html">
<img class="frontpageimage" src="kitkat-cake.jpg"></a> Rasberry Sponge Cake
</div>
<div class="col-sm-2 whitespace picturefont">
<a href="recipe.html">
<img class="frontpageimage" src="green-cake.jpg"></a> Red Velvet Cake</div>
<div class="col-sm-2 whitespace picturefont">
<a href="recipe.html">
<img class="frontpageimage" src="KitKatCake3.jpg"></a> Mango Rose Tart
</div>
</div>
<div id="slider">
<div id="slider2">
<img id="choclatecake" src="oreo-cake.jpg" alt="Moist Chocolate Cake" />
<img id="choclatecake" src="kitkat-cake.jpg" alt="Moist Chocolate
Cake" />
<img id="choclatecake" src="green-cake.jpg" alt="Moist Chocolate Cake" />
<img id="choclatecake" src="KitKatCake3.jpg" alt="Moist Chocolate
Cake" />
</div>
</div>`
Простите за неподходящий формат, но я здесь новенький. Надеюсь найти ответы на некоторые вопросы. Спасибо
3 ответа
- Вам нужно поставить
h1
тег внутриnav
тег. - Вы закрыли
nav
тег перед запуском формы, и у вас есть еще один закрывающий тег nav позже. По той же причине, что и выше.
Попробуйте это так:
<nav> <h1 class="fontsize"> Brand name </h1> <a class="colors" href="home.html"> Home </a> <a class="colors" href="contact.html"> Contact </a> <a class="colors" href="recipe.html"> Recipes </a> <a class="colors" href="order.html"> Order </a> <ul> <li class="icon"> <a href="#"><img src="icon-insta.png"></a> </li> <li class="icon"> <a href="#"><img src="fb-icon.png"></a> </li> <li class="icon"> <a href="#"><img src="phone-icon.png"> </a> </li> </ul> <form id="margin" class="navbar-form navbar-right"> <div class="form-group"> <input type="text" class="form-control" placeholder="Search"> </div> <button type="submit" class="btn btn-default">Submit</button> </form> <ul class="nav navbar-nav navbar-right"> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <span class="caret"></span></a> <ul class="dropdown-menu"> <li><a href="#">Action</a></li> <li><a href="#">Another action</a></li> <li><a href="#">Something else here</a></li> <li role="separator" class="divider"></li> <li><a href="#">Separated link</a></li> </ul> </li> </ul> </nav>
@Student, у вас здесь много чего происходит, но большинство ваших проблем связаны с искаженным HTML. Итак, давайте рассмотрим ваши проблемы один за другим.
1) Название бренда не соответствует тегам a. я попробовал дисплей: встроенный; в каждом классе, но это не работает.
Я вижу только ваше использование display:inline
в пару ваших классов, но не на фирменном знаке. В любом случае, у Bootstrap уже есть бренд со встроенными для вас ссылками. Как вы можете видеть в коде ниже.
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button class="navbar-toggle collapsed" aria-expanded="false" type="button" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Brand Name</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
<li><a href="home.html">Home</a></li>
<li><a href="contact.html">Contact</a></li>
<li><a href="recipes.html">Recipes</a></li>
<li><a href="orders.html">Orders</a></li>
</ul>
...
2) Теги социальных сетей висят в воздухе, я хочу, чтобы они соответствовали тегам a. Я снова попытался уменьшить поля, отступы и использовать встроенную команду, но, похоже, ничего не работает.
Чтобы они совпадали, вы можете вкладывать форму и значки социальных сетей в div
тег, который тянет их обоих справа от панели навигации, используя navbar-right
учебный класс. Чтобы убедиться, что они находятся на одной линии, используйте класс float Bootstrap: pull-left
а также pull-right
, Вам нужно будет добавить отступ в верхней части a
использование тегов padding-top
CSS свойство Я сделал это с одним, чтобы вы могли понять, как.
<div class="navbar-right">
<form class="navbar-form pull-left">
<div class="form-group">
<input class="form-control" type="text" placeholder="Search">
</div>
<button class="btn btn-default" type="submit">Submit</button>
</form>
<ul class="nav navbar-nav pull-right">
<li>
<a href="#" style="padding-top: 10px;"><img src="fb-icon.png"></a>
</li>
<li>
<a href="#"><img src="phone-icon.png"></a>
</li>
<li>
<a href="#"><img src="icon-insta.png"></a>
</li>
</ul>
</div>
Вам просто нужно повторно применить некоторые из ваших классов.
Исходя из моего опыта, лучший способ организовать макет веб-страницы - это использовать таблицы (строки и столбцы). Начните с создания эскиза макета и представления границ вокруг элементов вашего сайта.
Я предлагаю вам использовать таблицу стилей Bootstrap, включив файл CSS в заголовок своей страницы
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
Затем с помощью классов CSS row
а также .col-md-*
за div
классы элементов содержат.
Обратитесь к странице ( https://getbootstrap.com/docs/3.3/css/) для примеров кода.
Ваша структура может выглядеть примерно так:
<div class="row">
<div class="col-md-8">Brand name</div>
<div class="col-md-4">social media tags</div>
</div>
<div class="row">
<div class="col-md-6">navigation</div>
<div class="col-md-6">search</div>
</div>
<div class="row">
<div class="col-md-12">Body</div>
</div>