Auto scrolling with CSS
1.) You can't initiate DOM actions with CSS or pure HTML. You always need a manipulating language (like JavaScript)
2.) You can remove the buttons by overwriting the current CSS and adjust the visibility
or display
tag to render them away or (placeholding) invisible.
In the end you really need JavaScript for this to trigger dynamic hiding and to make the automatic slide happen with setInterval
s.
Edit:
This might be something for you to work with animating the slider:
#container {
height: 200px;
width: 800px;
border: 1px solid #333;
overflow: hidden;
margin: 25px auto;
}
#box {
background: orange;
height: 180px;
width: 400px;
margin: 10px -400px;
-webkit-animation-name: move;
-webkit-animation-duration: 4s;
-webkit-animation-iteration-count: infinite;
-webkit-animation-direction: right;
-webkit-animation-timing-function: linear;
}
#box:hover {
-webkit-animation-play-state: paused;
}
@-webkit-keyframes move {
0% {
margin-left: -400px;
}
100% {
margin-left: 800px;
}
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>HTML</title>
<link rel="stylesheet" href="main2.css" type="text/css" />
</head>
<body>
<div id="container">
<div id="box">as</div>
</div>
</body>
</html>
Result
This is the WebKit-only version. These are the equivalents for other browsers:
The @
keyframes:
@-moz-keyframes move {
@-o-keyframes move {
@keyframes move {
Inside #box
(only one property shown as example):
-moz-animation-name: move;
-o-animation-name: move;
animation-name: move;
Here is an example (Fiddle) of using animations
. You could apply this to your .post-list
:
.post-list {
animation: slide infinite 3s alternate;
}
@keyframes slide {
0% {
margin-left: 0px;
}
50% {
margin-left: -100px;
}
100% {
margin-left: -200px;
}
}
To disable the animation on hover, use:
.post-list:hover {
animation-play-state: paused;
}
Don't forget the vendor prefixes (-webkit-...
and so on) like in Allendars answer.
But of course you'll have to play around. This should just be a hint of how it could work.