#html #css #head #html-heading
#HTML #css #заголовок #html-заголовок
Вопрос:
Я хочу переместить изображение в заголовке моего веб-сайта. В конечном итоге оно должно находиться в строке с кнопкой входа и регистрации (аналогично переполнению стека в заголовке — все в строке). Я пытался решить эту проблему в течение нескольких часов, к сожалению, ничего не получалось.
Заголовок в html
<img src="/static/logo.png" alt="Start" class="header_logo" id="header_logo">
{% if session['loggedin'] %}
<button type="button" onclick="{{ url_for('logout') }}" class="header_logout">Logout</button>
{% else %}
<button type="button" onclick="{{ url_for('login') }}" class="header_login">Einloggen</button>
<button type="button" onclick="{{ url_for('register') }}"
class="header_register">Registrieren</button>
{% endif %}
файл css
.header {
position: fixed;
top: 0;
background-color: lightgrey;
width: 100%;
text-align: right;
display: inline-block;
font-size: 2vw;
}
.header_login {
background: lightcoral;
margin: 0;
padding: 10px 10px;
border-radius: 23px;
}
.header_register {
background: lightblue;
margin: 0;
padding: 10px 10px;
border-radius: 23px;
margin-right: 1%;
margin-bottom: 1%;
}
.header_logo{
width: 10%;
display: block;
left: 0;
}
Я был бы рад, если бы кто-нибудь мог мне помочь. 🙂
Комментарии:
1. переключите
.header_logo { display: block; }
на.header_logo { display: inline-block; }
. В качестве альтернативы вы можете сделать это с помощью flexboxes или css-grid.
Ответ №1:
Как насчет flex? Гибкие поля более надежны, чем плавающие.
.header {
padding:1rem 0.2rem;
display:flex;
justify-content: flex-end;
align-items:center;
position: fixed;
top: 0;
background-color: lightgrey;
width: 100%;
text-align: right;
font-size: 2vw;
}
.header .logo img {
width:10rem;
}
.header .logo {
margin-right: auto;
}
.header .interaction_buttons {
display:flex;
}
.header .interaction_buttons button:first-child {
margin-right:1rem;
}
.header_login {
background: lightcoral;
margin: 0;
padding: 10px 10px;
border-radius: 23px;
}
.header_register {
background: lightblue;
margin: 0;
padding: 10px 10px;
border-radius: 23px;
margin-right: 1%;
margin-bottom: 1%;
}
.header_logo{
width: 10%;
display: block;
left: 0;
}
<div class="header">
<div class="logo">
<img src="https://bankingthefuture.com/wp-content/uploads/2019/04/dummylogo.jpg" alt="">
</div>
<div class="interaction_buttons">
<button type="button" onclick="{{ url_for('login') }}" class="header_login">Einloggen</button>
<button type="button" onclick="{{ url_for('register') }}" class="header_register">Registrieren</button>
</div>
</div
Ответ №2:
Вы пробовали использовать «float» в css? Я думаю, что вы могли бы использовать «float: right;» на кнопках входа / выхода.
Комментарии:
1. Привет и добро пожаловать в SO. Ваш ответ — это просто комментарий, а не ответ. Не используйте опцию anwser, если вы не можете со 100% уверенностью ответить на него и подтвердить это фрагментом кода и объяснить, что вы делаете. Однако вы также не отвечаете на вопрос, поскольку кнопки уже выровнены по правому краю, просто не на той же строке, что и логотип. И последнее, но не менее важное: ваша рекомендация ужасна. Использование
float
float для целей стилизации не только устарело, но и не предназначено для использования. Float следует использовать только для плавающих изображений внутри текстового абзаца.
Ответ №3:
в классе .header_logo
вы указали display
свойство со block
значением! display: block;
занимает линию отверстия, поэтому ваши кнопки размещаются в следующей строке.
с другой стороны, его лучше использовать float
для img и кнопок
, которые вы можете увидеть в нескольких примерах для display
свойств здесь: https://www.w3schools.com/cssref/pr_class_display.asp
Комментарии:
1. не используйте float для такой задачи. Float в данном случае является не только устаревшим, но и неправильно используемым инструментом для него. Для этого у вас есть flexboxes. Float следует использовать только для перемещения изображений внутри текстового абзаца.
2. Я не согласен! основная идея моего комментария заключалась в
display
использовании! Я упомянул толькоfloat
в том случае, если он / она хотел использовать для этого некоторые дополнительные вещи!