Reputation: 547
Following is the code for my carousel. What I want to accomplish is that when I click on P or N the carousel should move from right to left until it is the end of items. Please anyone help me on this?
My try: I tried to use the position. On click on P or N the position of the whole carousel will shift towards left but it didn't helped.
.carousel_buttons_div {
text-align: right;
}
.button_previous_box,
.button_next_box {
display: inline-block;
font-size: 4rem;
padding: 1rem;
margin-right: 2rem;
cursor: pointer;
border-radius: 50%;
}
.carousel_items {
display: flex;
overflow-x: auto;
}
.carousel_items::-webkit-scrollbar {
visibility: hidden;
}
.user_review_card {
min-width: 33%;
width: 33%;
min-height: 25rem;
height: 25rem;
}
.company_info {
margin: 1.5rem 0;
display: flex;
align-items: center;
}
.company_logo {
height: 3rem;
width: 3rem;
margin-right: 4rem;
}
.company_name {
margin-top: 1.5rem;
font-size: 2.5rem;
}
.user_review_text {
font-size: 1.4rem;
margin: 1.5rem 0;
padding-left: 1rem;
}
.user_info {
display: flex;
align-items: center;
}
<div class="carousel_buttons_div">
<div class="button_previous_box">
P </div>
<div class="button_next_box">
N
</div>
</div>
<div class="carousel_items">
<div class="user_review_card">
<div class="company_info">
<div class="company_name">Google India</div>
</div>
<div class="user_review_text">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ante ornare facilisi ullamcorper a vitae. Mi ante suspendisse suspendisse
</div>
<div class="user_info">
<div class="user_namings">
<div class="user_name">Harsh Kumar Goyal</div>
</div>
</div>
</div>
<div class="user_review_card">
<div class="company_info">
<div class="company_name">Google India</div>
</div>
<div class="user_review_text">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ante ornare facilisi ullamcorper a vitae. Mi ante suspendisse suspendisse
</div>
<div class="user_info">
<div class="user_namings">
<div class="user_name">Harsh Kumar Goyal</div>
</div>
</div>
</div>
<div class="user_review_card">
<div class="company_info">
<div class="company_name">Google India</div>
</div>
<div class="user_review_text">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ante ornare facilisi ullamcorper a vitae. Mi ante suspendisse suspendisse
</div>
<div class="user_info">
<div class="user_namings">
<div class="user_name">Harsh Kumar Goyal</div>
</div>
</div>
</div>
<div class="user_review_card">
<div class="company_info">
<div class="company_name">Google India</div>
</div>
<div class="user_review_text">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ante ornare facilisi ullamcorper a vitae. Mi ante suspendisse suspendisse
</div>
<div class="user_info">
<div class="user_namings">
<div class="user_name">Harsh Kumar Goyal</div>
</div>
</div>
</div>
<div class="user_review_card">
<div class="company_info">
<div class="company_name">Google India</div>
</div>
<div class="user_review_text">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ante ornare facilisi ullamcorper a vitae. Mi ante suspendisse suspendisse
</div>
<div class="user_info">
<div class="user_namings">
<div class="user_name">Harsh Kumar Goyal</div>
</div>
</div>
</div>
<div class="user_review_card">
<div class="company_info">
<div class="company_name">Google India</div>
</div>
<div class="user_review_text">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ante ornare facilisi ullamcorper a vitae. Mi ante suspendisse suspendisse
</div>
<div class="user_info">
<div class="user_namings">
<div class="user_name">Harsh Kumar Goyal</div>
</div>
</div>
</div>
</div>
Upvotes: 0
Views: 157
Reputation: 1506
You can use id's
for the first and last review card and navigate them with a link (ahref).
Here's an example:
* {
scroll-behavior: smooth;
}
#box {
width: auto;
overflow-x: auto;
white-space:nowrap;
}
<a href="#first_review_card">Go to first Card</a><br>
<a href="#last_review_card">Go to last Card</a>
<div id="box">
<img src="https://via.placeholder.com/200"id="first_review_card">
<img src="https://via.placeholder.com/200">
<img src="https://via.placeholder.com/200">
<img src="https://via.placeholder.com/200">
<img src="https://via.placeholder.com/200">
<img src="https://via.placeholder.com/200">
<img src="https://via.placeholder.com/200">
<img src="https://via.placeholder.com/200">
<img src="https://via.placeholder.com/200">
<img src="https://via.placeholder.com/200" id="last_review_card">
</div>
I made the same thing with your code example and added scroll-behavior: smooth;
and the links for the P
and N
:
* {
scroll-behavior: smooth;
}
.carousel_buttons_div {
text-align: right;
}
.button_previous_box,
.button_next_box {
display: inline-block;
font-size: 4rem;
padding: 1rem;
margin-right: 2rem;
cursor: pointer;
border-radius: 50%;
}
.carousel_items {
display: flex;
overflow-x: auto;
}
.carousel_items::-webkit-scrollbar {
visibility: hidden;
}
.user_review_card {
min-width: 33%;
width: 33%;
min-height: 25rem;
height: 25rem;
}
.company_info {
margin: 1.5rem 0;
display: flex;
align-items: center;
}
.company_logo {
height: 3rem;
width: 3rem;
margin-right: 4rem;
}
.company_name {
margin-top: 1.5rem;
font-size: 2.5rem;
}
.user_review_text {
font-size: 1.4rem;
margin: 1.5rem 0;
padding-left: 1rem;
}
.user_info {
display: flex;
align-items: center;
}
<div class="carousel_buttons_div">
<div class="button_previous_box">
<a href="#first_review_card">P</a> </div>
<div class="button_next_box">
<a href="#last_review_card">N</a>
</div>
</div>
<div class="carousel_items">
<div class="user_review_card" id="first_review_card">
<div class="company_info">
<div class="company_name">Google India</div>
</div>
<div class="user_review_text">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ante ornare facilisi ullamcorper a vitae. Mi ante suspendisse suspendisse
</div>
<div class="user_info">
<div class="user_namings">
<div class="user_name">Harsh Kumar Goyal</div>
</div>
</div>
</div>
<div class="user_review_card">
<div class="company_info">
<div class="company_name">Google India</div>
</div>
<div class="user_review_text">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ante ornare facilisi ullamcorper a vitae. Mi ante suspendisse suspendisse
</div>
<div class="user_info">
<div class="user_namings">
<div class="user_name">Harsh Kumar Goyal</div>
</div>
</div>
</div>
<div class="user_review_card">
<div class="company_info">
<div class="company_name">Google India</div>
</div>
<div class="user_review_text">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ante ornare facilisi ullamcorper a vitae. Mi ante suspendisse suspendisse
</div>
<div class="user_info">
<div class="user_namings">
<div class="user_name">Harsh Kumar Goyal</div>
</div>
</div>
</div>
<div class="user_review_card">
<div class="company_info">
<div class="company_name">Google India</div>
</div>
<div class="user_review_text">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ante ornare facilisi ullamcorper a vitae. Mi ante suspendisse suspendisse
</div>
<div class="user_info">
<div class="user_namings">
<div class="user_name">Harsh Kumar Goyal</div>
</div>
</div>
</div>
<div class="user_review_card">
<div class="company_info">
<div class="company_name">Google India</div>
</div>
<div class="user_review_text">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ante ornare facilisi ullamcorper a vitae. Mi ante suspendisse suspendisse
</div>
<div class="user_info">
<div class="user_namings">
<div class="user_name">Harsh Kumar Goyal</div>
</div>
</div>
</div>
<div class="user_review_card" id="last_review_card">
<div class="company_info">
<div class="company_name">Google India</div>
</div>
<div class="user_review_text">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ante ornare facilisi ullamcorper a vitae. Mi ante suspendisse suspendisse
</div>
<div class="user_info">
<div class="user_namings">
<div class="user_name">Harsh Kumar Goyal</div>
</div>
</div>
</div>
</div>
Upvotes: 1