Image
How do I make the scrollbars in Chrome look more like the ones in Firefox.
CSS Code :
:root {
--color-primary: #6741d9;
--color-primary-light: #7950f2;
--color-text: #dee2e6;
--color-text-dark: #adb5bd;
--color-background-100: #343a40;
--color-background-500: #2b3035;
--color-background-900: #212529;
--color-red: #fa5252;
--color-red-dark: #e03131;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
html {
font-size: 62.5%;
}
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen,
Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
color: var(--color-text);
background-color: var(--color-background-900);
padding: 2.4rem;
}
/* ******* */
.nav-bar {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
align-items: center;
height: 7.2rem;
padding: 0 3.2rem;
background-color: var(--color-primary);
border-radius: 0.9rem;
}
.main {
margin-top: 2.4rem;
height: calc(100vh - 7.2rem - 3 * 2.4rem);
display: flex;
gap: 2.4rem;
justify-content: center;
}
.box {
width: 42rem;
max-width: 42rem;
background-color: var(--color-background-500);
border-radius: 0.9rem;
overflow: scroll;
position: relative;
}
.loader {
text-align: center;
text-transform: uppercase;
font-size: 2rem;
font-weight: 600;
margin: 4.8rem;
}
.error {
text-align: center;
font-size: 2rem;
padding: 4.8rem;
}
/* ******* */
.logo {
display: flex;
align-items: center;
gap: 0.8rem;
}
.logo span {
font-size: 3.2rem;
}
.logo h1 {
font-size: 2.4rem;
font-weight: 600;
color: #fff;
}
.search {
justify-self: center;
border: none;
padding: 1.1rem 1.6rem;
font-size: 1.8rem;
border-radius: 0.7rem;
width: 40rem;
transition: all 0.3s;
color: var(--color-text);
/* background-color: var(--color-background-900); */
background-color: var(--color-primary-light);
}
.search::placeholder {
color: var(--color-text-dark);
}
.search:focus {
outline: none;
box-shadow: 0 2.4rem 2.4rem rgba(0, 0, 0, 0.1);
transform: translateY(-2px);
}
.num-results {
justify-self: end;
font-size: 1.8rem;
}
.btn-toggle {
position: absolute;
top: 0.8rem;
right: 0.8rem;
height: 2.4rem;
aspect-ratio: 1;
border-radius: 50%;
border: none;
background-color: var(--color-background-900);
color: var(--color-text);
font-size: 1.4rem;
font-weight: bold;
cursor: pointer;
z-index: 999;
}
.list {
list-style: none;
padding: 0.8rem 0;
overflow: scroll;
}
.list-watched {
height: calc(100% - 9rem);
}
.list li {
position: relative;
display: grid;
grid-template-columns: 4rem 1fr;
grid-template-rows: auto auto;
column-gap: 2.4rem;
font-size: 1.6rem;
align-items: center;
padding: 1.6rem 3.2rem;
border-bottom: 1px solid var(--color-background-100);
}
.list.list-movies li {
cursor: pointer;
transition: all 0.3s;
}
.list.list-movies li:hover {
background-color: var(--color-background-100);
}
.list img {
width: 100%;
grid-row: 1 / -1;
}
.list h3 {
font-size: 1.8rem;
}
.list div {
display: flex;
align-items: center;
gap: 2.4rem;
}
.list p {
display: flex;
align-items: center;
gap: 0.8rem;
}
.btn-delete {
position: absolute;
right: 2.4rem;
height: 1.8rem;
aspect-ratio: 1;
border-radius: 50%;
border: none;
background-color: var(--color-red);
color: var(--color-background-900);
font-size: 0.9rem;
font-weight: bold;
cursor: pointer;
transition: all 0.3s;
}
.btn-delete:hover {
background-color: var(--color-red-dark);
}
/* ******* */
.summary {
padding: 2.2rem 3.2rem 1.8rem 3.2rem;
border-radius: 0.9rem;
background-color: var(--color-background-100);
box-shadow: 0 1.2rem 2.4rem rgba(0, 0, 0, 0.2);
}
.summary h2 {
text-transform: uppercase;
font-size: 1.6rem;
margin-bottom: 0.6rem;
}
.summary div {
display: flex;
align-items: center;
gap: 2.4rem;
font-size: 1.6rem;
font-weight: 600;
}
.summary p {
display: flex;
align-items: center;
gap: 0.8rem;
}
/* ******* */
.details {
line-height: 1.4;
font-size: 1.4rem;
}
.details header {
display: flex;
}
.details section {
padding: 4rem;
display: flex;
flex-direction: column;
gap: 1.6rem;
}
.details img {
width: 33%;
}
.details-overview {
width: 100%;
padding: 2.4rem 3rem;
background-color: var(--color-background-100);
display: flex;
flex-direction: column;
gap: 1.4rem;
}
.details-overview h2 {
font-size: 2.4rem;
margin-bottom: 0.4rem;
line-height: 1.1;
}
.details-overview p {
display: flex;
align-items: center;
gap: 0.8rem;
}
.rating {
background-color: var(--color-background-100);
border-radius: 0.9rem;
padding: 2rem 2.4rem;
margin-bottom: 0.8rem;
font-weight: 600;
display: flex;
flex-direction: column;
gap: 2.4rem;
}
.btn-add {
background-color: var(--color-primary);
color: var(--color-text);
border: none;
border-radius: 10rem;
font-size: 1.4rem;
padding: 1rem;
font-weight: bold;
cursor: pointer;
transition: all 0.3s;
}
.btn-add:hover {
background-color: var(--color-primary-light);
}
.seconds {
background-color: var(--color-background-100);
width: 8rem;
border-radius: 10rem;
font-weight: 600;
text-align: center;
padding: 0.4rem;
margin-top: 2.4rem;
}
.btn-back {
position: absolute;
top: 0.6rem;
left: 0.6rem;
height: 3.2rem;
aspect-ratio: 1;
border-radius: 50%;
border: none;
/* background-color: var(--color-text); */
background-color: #fff;
color: var(--color-background-500);
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.8);
font-family: sans-serif;
font-size: 2.4rem;
font-weight: bold;
cursor: pointer;
z-index: 999;
display: flex;
align-items: center;
justify-content: center;
}
2
Answers
To achieve a custom scrollbar appearance in Chrome similar to Firefox, you can use CSS styling. Here’s an example:
This is a complex question to answer since it is hard to replicate the exact look of the Firefox scrollbar on other browsers. However, here is the easiest way to replicate the general look of the Firefox scrollbar using CSS:
This is the most accurate I could make using basic CSS.
I would recommend looking into this more and looking for a more suitable solution.