#html #css
#HTML #css
Вопрос:
Я создаю чистый раскрывающийся список html и css, и я могу скрыть его и показать, но я не могу выровнять текст внутри выпадающего списка по левому краю?
Может кто-нибудь, пожалуйста, указать на то, что я делаю неправильно?
Посмотрите этот рабочий Codepen.
Или посмотрите этот рабочий пример :-
.toggle-dropdown p {
text-align: center;
}
.dropdown {
border: 1px solid grey;
width: 8%;
margin: auto;
box-shadow: 10px 10px 8px #888888;
padding: 0px 16px;
display: none;
}
.toggle-dropdown:hover .dropdown {
display: block;
}
ul {
list-style-type: none;
}
li a {
color: black;
padding: 12px;
text-decoration: none;
display: inline-block;
text-align: left;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>DropDown</title>
</head>
<body>
<div class="toggle-dropdown">
<p>Dropdown Text</p>
<div class="dropdown">
<ul>
<li><a href="">Home</a></li>
<li><a href="">Messgaes</a></li>
<li><a href="">Contacts</a></li>
<li><a href="">About</a></li>
</ul>
</div>
</div>
</body>
</html>
Любая помощь будет оценена. Спасибо.
Ответ №1:
Вам нужно только установить padding-inline-start: 0;
в ul
блоке: В моем разветвленном codepen: https://codepen.io/adampweb/pen/MWjOPOO
.toggle-dropdown p {
text-align: center;
}
.dropdown {
border: 1px solid grey;
width: 8%;
margin: auto;
box-shadow: 10px 10px 8px #888888;
padding: 0px 16px;
display: none;
}
.toggle-dropdown:hover .dropdown {
display: block;
}
ul {
list-style-type: none;
padding-inline-start: 0;
}
li a {
color: black;
padding: 12px;
text-decoration: none;
display: inline-block;
text-align: left;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>DropDown</title>
</head>
<body>
<div class="toggle-dropdown">
<p>Dropdown Text</p>
<div class="dropdown">
<ul>
<li><a href="">Home</a></li>
<li><a href="">Messgaes</a></li>
<li><a href="">Contacts</a></li>
<li><a href="">About</a></li>
</ul>
</div>
</div>
</body>
</html>
Комментарии:
1. Спасибо, но
padding-left:0
также дал тот же результат. в чем разница между ними?2. Посмотрите на это интерактивное объяснение: developer.mozilla.org/en-US/docs/Web/CSS/padding-inline-start
3. В вашем случае
padding-left: 0
также можно использовать, но если вы хотите добавить новый язык на свой сайт, например, арабский, тоpadding-inline-start: 0;
это лучший вариант