Как разместить текст на отдельной строке и сделать баннер на всю ширину страницы

#html #css

#HTML #css

Вопрос:

У меня два вопроса:

  1. Как мне сделать баннер на всю ширину страницы, я установил ширину на 100%, и у меня есть поиск в Интернете, и он также говорит мне установить ширину на 100%, что я и сделал.

  2. Как мне переместить часть текста во вторую строку, как я уже пробовал
    и я также искал в Интернете по поводу этой проблемы и перепробовал все методы, но, похоже, ничего не работает, так как я хочу «ПРИСОЕДИНИТЬСЯ к СОЦИАЛЬНОМУ клубу» на новой строке чуть ниже «ВОЙТИ».

Я снова попытался установить ширину на 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 . Это должно исправить все проблемы с пробелами.