Reputation: 59
I want all of the images to be centered on the page, but to also repeat one after another with margins and all that. The problem is, they are all being lined in a straight line like this: when they should be going from left to right.
My HTML/CSS:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Join the Team</title>
</head>
<style>
.__applyingfor {
width: 500px;
height: 150px;
margin: auto auto;
text-align: center;
}
.__applyoptions {
display: flex;
justify-content: center;
}
.__applyoptions ul{
display: flex;
list-style-type: none;
margin: 0;
background-size: cover;
padding: 10px;
}
.__applyoptions ul li{
margin-right: 1px;
}
.__applyoptions ul a{
display: flex;
position: relative;
}
.__apply-normal:hover {
opacity: 1;
}
.__apply-hover {
top: 0;
left: 0;
position: absolute;
opacity: 0;
}
.__apply-hover:hover {
opacity: 1;
}
#__title {
font-size: 25px;
}
#__title:hover {
color: #18A7B2;
}
</style>
<body>
<div class="__applyingfor">
<p id="__title">What Are You Applying For?</p>
</div>
<div class="__applyoptions">
<ul>
<li>
<a href="#">
<img class="__apply-normal" src="../images/helperapp.png">
<img class="__apply-hover" src="../images/helperapph.png">
</a>
<a href="#">
<img class="__apply-normal" src="../images/modapp.png">
<img class="__apply-hover" src="../images/modapph.png">
</a>
<a href="#">
<img class="__apply-normal" src="../images/adminapp.png">
<img class="__apply-hover" src="../images/adminapph.png">
</a>
<a href="#">
<img class="__apply-normal" src="../images/devapp.png">
<img class="__apply-hover" src="../images/devpph.png">
</a>
</li>
</ul>
</div>
</body>
</html>
Upvotes: 0
Views: 46
Reputation: 1
Replace your li style with the following property:
.__applyoptions ul li {
margin-right: 1px;
float: left;
display: inline-flex;
}
Upvotes: 0
Reputation: 1683
Try this. Removed display: flex;
from __applyoptions ul a
. You need to display:flex;
only to the container.
.__applyingfor {
width: 500px;
height: 150px;
margin: auto auto;
text-align: center;
}
.__applyoptions {
display: flex;
justify-content: center;
}
.__applyoptions ul {
display: flex;
flex-direction: row;
list-style-type: none;
margin: 0;
background-size: cover;
padding: 10px;
}
.__applyoptions ul li {
margin-right: 1px;
}
.__applyoptions ul a {
position: relative;
}
.__apply-normal:hover {
opacity: 1;
}
.__apply-hover {
top: 0;
left: 0;
position: absolute;
opacity: 0;
}
.__apply-hover:hover {
opacity: 1;
}
#__title {
font-size: 25px;
}
#__title:hover {
color: #18A7B2;
}
<body>
<div class="__applyingfor">
<p id="__title">What Are You Applying For?</p>
</div>
<div class="__applyoptions">
<ul>
<li>
<a href="#">
<img class="__apply-normal" src="../images/helperapp.png">
<img class="__apply-hover" src="../images/helperapph.png">
</a>
<a href="#">
<img class="__apply-normal" src="../images/modapp.png">
<img class="__apply-hover" src="../images/modapph.png">
</a>
<a href="#">
<img class="__apply-normal" src="../images/adminapp.png">
<img class="__apply-hover" src="../images/adminapph.png">
</a>
<a href="#">
<img class="__apply-normal" src="../images/devapp.png">
<img class="__apply-hover" src="../images/devpph.png">
</a>
</li>
</ul>
</div>
</body>
Upvotes: 0
Reputation: 2189
You can add display: inline-flex;
or remove display:flex;
in .__applyoptions ul a{
.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Join the Team</title>
</head>
<style>
.__applyingfor {
width: 500px;
height: 150px;
margin: auto auto;
text-align: center;
}
.__applyoptions {
display: flex;
justify-content: center;
}
.__applyoptions ul{
display: flex;
list-style-type: none;
margin: 0;
background-size: cover;
padding: 10px;
}
.__applyoptions ul li{
margin-right: 1px;
}
.__applyoptions ul a{
display: inline-flex;
position: relative;
}
.__apply-normal:hover {
opacity: 1;
}
.__apply-hover {
top: 0;
left: 0;
position: absolute;
opacity: 0;
}
.__apply-hover:hover {
opacity: 1;
}
#__title {
font-size: 25px;
}
#__title:hover {
color: #18A7B2;
}
</style>
<body>
<div class="__applyingfor">
<p id="__title">What Are You Applying For?</p>
</div>
<div class="__applyoptions">
<ul>
<li>
<a href="#">
<img class="__apply-normal" src="http://placehold.it/100x150">
<img class="__apply-hover" src="http://placehold.it/100x150">
</a>
<a href="#">
<img class="__apply-normal" src="http://placehold.it/100x150">
<img class="__apply-hover" src="http://placehold.it/100x150">
</a>
<a href="#">
<img class="__apply-normal" src="http://placehold.it/100x150">
<img class="__apply-hover" src="http://placehold.it/100x150">
</a>
<a href="#">
<img class="__apply-normal" src="http://placehold.it/100x150">
<img class="__apply-hover" src="http://placehold.it/100x150">
</a>
</li>
</ul>
</div>
</body>
</html>
Upvotes: 1
Reputation: 696
just add float:left;
to the .__applyoptions ul a{} section:
.__applyoptions ul a{
display: flex;
position: relative;
float:left;
}
Upvotes: 0