#html #css
#HTML #css
Вопрос:
У меня два вопроса:
-
Как мне сделать баннер на всю ширину страницы, я установил ширину на 100%, и у меня есть поиск в Интернете, и он также говорит мне установить ширину на 100%, что я и сделал.
-
Как мне переместить часть текста во вторую строку, как я уже пробовал
и я также искал в Интернете по поводу этой проблемы и перепробовал все методы, но, похоже, ничего не работает, так как я хочу «ПРИСОЕДИНИТЬСЯ к СОЦИАЛЬНОМУ клубу» на новой строке чуть ниже «ВОЙТИ».
Я снова попытался установить ширину на 100%, и это в какой-то степени сработало, но у меня остался пробел справа.
Я пробовал
, и я также искал в Интернете по этой проблеме и перепробовал все методы, но, похоже, ничего не работает для вопроса 2.
Я что-то сделал не так или мне нужно что-то добавить?
Приведенный ниже код предназначен как для Q1, так и для 2
Мой HTML-код:
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.8/css/solid.css">
<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="CSS/style.css">
</head>
<body>
<header>
<div class="modal-dialog text-center">
<div class="col-sm-9 main-section">
<div class="col-12 logo">
<img src="img/logo.jpg">
</div>
</div>
</div>
</header>
<div class="col-12 banner">
<img class="banner-image" src="img/1.jpg">
</div>
<div id="nav">
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">Games</a></li>
<li><a href="#">Videos</a></li>
<li><a href="#">Newswire</a></li>
<li><a href="#">Social Club</a></li>
<li><a href="#">Downloads</a></li>
<li><a href="#">Warehouse</a></li>
<li><a href="#">Support</a></li>
<li><i class="fas fa-search"></i></li>
</ul>
</div>
<div class="global">
<a href="#">SIGN IN</a> <p>Or</p> <a href="#">JOHN SOCIAL CLUB</a>
</div>
Мой CSS-код:
body {
margin: 0 auto;
margin-top: 130px;
}
.logo img {
height: 120px;
width: 120px;
border-radius: 15px;
margin-left: 100px
}
.logo {
margin-top: -60px;
margin-bottom: 45px;
z-index: 1;
}
.banner {
width: 150%;
display: block;
margin-top: -250px;
margin-left: -25px;
overflow-x: hidden;
}
.banner > .banner-image {
width: 150%;
display: block;
margin-top: -250px;
overflow-x: hidden;
}
#nav {
position: absolute;
left: 0px;
height: 40px;
background-color: transparent;
width: 100%;
display: flex;
justify-content: center;
margin-top: -50px;
}
#nav ul {
margin: 0;
padding: 0;
}
#nav ul li {
margin: 0;
padding: 0;
float:left;
list-style: none;
}
#nav ul li a {
text-decoration: none;
padding: 10px 20px;
display: block;
color: #FFF;
text-align: center;
}
#nav ul li a:hover {
border-bottom: 1px solid #ff0000;
}
.box{
margin: 100px auto;
width: 300px;
height: 50px;
}
.fa-search {
display: inline-block;
margin-top: 10px;
color: #fff;
}
.global {
display: flex;
flex-wrap: wrap;
background: #000;
font-family: DINNext-Med,sans-serif;
color: #777;
line-height: 1.3em;
text-align: right;
padding: 5px;
position: absolute;
right: 0;
top: 50%;
transform: translateY(-50%);
min-width: 100px;
margin-top: -220px;
margin-right: 50px;
}
.global p {
display: inline-block
color: #777;
font-size: 10px;
padding-left: 5px;
padding-right: 5px
}
.global a {
font-size: 10px;
color: #fff;
}
https://imgur.com/8tWIowK (Вопрос 1)
https://imgur.com/sLSfFeh (Вопрос 2)
Любая помощь приветствуется и заранее благодарю вас
Комментарии:
1. Добро пожаловать в SO! В предоставленном вами коде много разных проблем. Кажется, что большинство элементов находятся не в верхней части экрана (вероятно, из-за
margin-top
отрицательных значений). Это прояснит вопрос, если вы сможете выделить одну проблему, поддающуюся проверке. Я могу извлечь часть, связанную с вопросом 2, и показать вам, как разместить эти ссылки в отдельных строках.
Ответ №1:
Для первого вам нужно убедиться, что все родительские элементы также занимают всю ширину.
Что касается второго вопроса, вам нужно изменить свойство отображения на block, потому что для тега a по умолчанию установлено значение inline
a{
display: block
}
Ответ №2:
Измените свой глобальный класс css следующим образом.
.global {
background: #000;
font-family: DINNext-Med,sans-serif;
color: #777;
padding: 5px;
position: absolute;
right: 0;
top: 50%;
transform: translateY(-50%);
min-width: 100px;
margin-top: -220px;
margin-right: 50px;
}
Комментарии:
1. В отдельной строке помещено «ИЛИ», а в отдельной строке — «ПРИСОЕДИНИТЬСЯ к SOCIAL CLUB», и между «ИЛИ» и «присоединиться к social club» большой разрыв :/
Ответ №3:
Если я выделю только этот фрагмент HTML, без CSS он, кажется, будет делать то, что вы хотите, даже если вы, возможно, не предполагали этого таким образом. <p>Or</p>
Элемент занимает всю ширину, из-за чего ссылки до и после отображаются в отдельных строках. Это связано с тем, что p
элемент по умолчанию имеет свойство block display.
<div class="global">
<a href="#">SIGN IN</a> <p>Or</p> <a href="#">JOHN SOCIAL CLUB</a>
</div>
a
Теги отображаются встроенным по умолчанию, что позволяет им вставляться в строку с текстом. Чтобы они занимали всю ширину, вы можете изменить их свойство отображения с помощью CSS. Здесь я убираю p
тег, чтобы продемонстрировать a
новую характеристику макета тега:
.global a {
display: block;
}
<div class="global">
<a href="#">SIGN IN</a> Or <a href="#">JOHN SOCIAL CLUB</a>
</div>
Я рекомендую вам ознакомиться с display
свойством CSS: https://developer.mozilla.org/en-US/docs/Web/CSS/display
Что касается других проблем с версткой, с которыми вы сталкиваетесь, немного почитайте о коробочной модели CSS, с которой всегда полезно работать, а не бороться (отрицательные поля, поскольку вы их используете, на мой взгляд, являются примером борьбы с обычным потоком ящиков). https://developer.mozilla.org/en-US/docs/Learn/CSS/Introduction_to_CSS/Box_model
Ответ №4:
Баннер:
<div class="container-fluid test">
<div class="col h-100">
</div>
</div>
CSS:
.test {
background-image: url(bg.jpg);
background-size: cover;
}
РЕДАКТИРОВАТЬ: Вопрос 2:
HTML
<div class="global text-left">
<a href="#">SIGN IN</a> <p>Or</p>
<a href="#" class="d-block">JOHN SOCIAL CLUB</a>
</div>
CSS:
remove flex:wrap; from global
fix display: inline-block in .global p
add display: inline-block in global a
Комментарии:
1. Изменений нет :/
2. Для обоих? Тестирование с моей стороны, и оба сработали. Вы заменили URL изображения в
.test
css?3. Для баннера попробуйте:
<div class="jumbotron-fluid test h-100"></div>
с помощью css, который я предоставил для.test
. Это должно исправить все проблемы с пробелами.