• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Galerie mit Thumbs / Captions / Vor-Zurück Navigation - OHNE JavaScript?

lddd

Neues Mitglied
Hallo,

ich bin auf der Suche nach einer Galerie die auch ohne JavaScript funktioniert (rein css) mit der Ich eine reihe von Bilder in einem festen Container hin und zurück navigieren kann (Pfeil vor / Pfeil zurück).

Des weiteren sollten weitere Textinformationen zu jedem Bild angezeigt werden indem man z.B über das Bild fährt und sich ein weiterer Layer rausschiebt.

Ist das machbar, und wenn ja wo fange ich da an?

Danke für eure Hilfe vorab
 
Hallo,

sage mal, wenn das mit "Pfeil vor / Pfeil zurück" machen möchtest und ohne das sich jedes mal die Seite neu läd geht das ohne JS nicht.
Das mit den "weiterer Layer rausschiebt" geht auch nicht ohne JS, wenn mit rausschiebt auch rausschiebt meinst und nicht reinploppen, also ohne effekt.

Cheffchen
 
Das Problem ist das die Seite erst einmal auch für non-js clients laufen muss und später auch noch ein CMS dazu kommt wo man unter anderem auch bilder + zusatz informationen einpflegen können soll. Ob man das ganze dann noch per Lightbox verschönert um die JS aktiven Benutzer zu belohnen ist erst einmal nebensache. Wichtig ist das es valid ist und möglichst cross-browser kompatibel: Als CMS soll wahrscheinlich Typo3 zum Einsatz kommen.
 
Ich denke, wenn du Javascript ablehnst, dann musst etwa folgendes tun. In der Bild-Übersicht diesen eine Nummer geben und mit einem Link versehen in der folgenden Art:
HTML:
<a href="myserverslideshow.php?name=Show_A&Bild_Nr=3" target="_blank"><img src=...></a>
myserverslideshow auf dem Server sendet dann ein Fenster mit Bild_nr=3 und Navigationsschaltflächen (analog zu der oben) zu Bild 2 und 4. Aber ohne JavaScript kannst nicht mal die Position oder Größe des neuen Fensters ändern.
 
Ja ich weiss aber Bild von der Größe dynamisch zur Fenstergröße halten wäre nicht soooo wichtig. Wird eine Modeseite und wir gehen von einer mind. Auflösung einfach mal aus.

Hier mal ein einfaches Beispiel was ich gerade gefunden habe.

Ich kriege es leider nicht hin, das die <spawn> Elemente für die Beschreibungen des jeweiligen Bildes erst aufklappen wenn man über #box fährt....
Die Thumbnails sollten auch eher auf dem großen Foto liegen. Sprich einfach ein Layer
der Bildinformationen + Thumbs einer jeweiligen Galerie beinhaltet und sich ausfahren lässt wenn man sich mit der Maus über dem großen Bild bewegt.

HTML:
<!DOCTYPE html>
<html lang=""><head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">  
<meta charset="utf-8">

<style type="text/css">

* {
    margin: 0;
    padding: 0;
}

img {border: none;}

a {outline: none;}

body {
    font-family: Helvetica, Verdana, Arial, sans-serif;
    background: url(images/post-BG.png) repeat;
    text-align: center;
    color: #fff;
}

h1 {
    margin: 30px 0 0 0;
    text-shadow: #d6d6d6 0px 1px 2px;
    color: #030303
}

h3 {
    margin: 10px 0 10px 0;
    text-shadow: #d6d6d6 0px 1px 2px;
    color: #030303
}



/* Fades in the slideshow. Hides the initial animation on the li tag. Ooops!! */

@-webkit-keyframes fadeIn {
    0% {
        opacity: 0;
        
    }
    
    50% { 
        opacity: 0;
    }
    
    100% { 
        opacity: 1;
    }
}

#box {
    text-align: left;
    width: 700px;
    margin: 30px auto 0 auto;
    background: #000;
    overflow: hidden;
    border: 10px solid #000;
    -webkit-box-shadow: #131313 0px 2px 10px;
    -moz-box-shadow: #131313 0px 3px 10px;
    box-shadow: #131313 0px 3px 10px;    
    -webkit-animation-name: fadeIn; 
      -webkit-animation-duration: 3s; 
      -webkit-animation-iteration-count: 1;
      -webkit-animation-delay: 0s;
}

ul#slider{
    -webkit-border-radius: 10px;
    margin: 0px;
    padding: 0px;
    list-style: none;
    position: relative;
    width: 700px;
    height: 438px;
    overflow: hidden;    
}

ul#thumb {
    overflow: none;
    margin: 0px 0px 0px 0px;
    padding: 0px;
    list-style: none;
    position: relative;
    background: #000;
    overflow: auto;
    width: 700px;
}

ul#thumb a {
    -webkit-transition: opacity .2s ease-in-out;
    border: 1px solid #979797;
    width: 35px;
    height: 35px;
    display: block;
    overflow: hidden;
    float: right;
    margin: 10px 0px 0px 10px;
    opacity: 0.75;
}

ul#thumb a:hover {
    opacity: 1;
} 

ul#slider li {    
    width: 700px;
    height: 438px;
    position: absolute;
    }
    
ul#slider li p {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: inherit;
    color: #fff;
    background: rgba(0, 0, 0, .5);
    width: 100%;
}

ul#slider li p span {
    line-height: 1.2em;
    padding: 10px;
    display: block;
}

/* Animation for the :target image. Slides the image in. */

@-webkit-keyframes moveTarget {
    0% {
        left:-700px;
        
    }
    
    100% { 
        left:0px;
    }
}


ul#slider li:target {
    -webkit-animation-name: moveTarget; 
    -webkit-animation-duration: .5s; 
    -webkit-animation-iteration-count: 1;
    top:0px;
    left: 0px;
    z-index: 10;
}

/*
Animation for the current image. Slides it out the frame and back to the starting position. 
Adds a lower z-index than the now current image.
*/

@-webkit-keyframes moveIt {
    0% {
        left:0px;
        
    }
    50% {
        left:700px;
        
    }
    100% { 
        left:-700px;
        z-index: 5;
    }
}

ul#slider li:not(:target) {
    -webkit-animation-name: moveIt; 
      -webkit-animation-duration: 1.5s; 
      -webkit-animation-iteration-count: 1;
    top:0px;
    left: 0px;
}

</style>

</head>

<body>

<div id="box">

<ul id="slider">
    <li id="1">
        <img src="data/grass-blades.jpg" alt="grass-blades" height="438" width="700">
        <p><span>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed
 do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim 
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut 
aliquip ex ea commodo consequat.</span></p>
    </li>
    <li id="2">
        <img src="data/ladybug.jpg" alt="ladybug" height="438" width="700">
        <p><span>Mind your step!</span></p>
    </li>
    <li id="3">
        <img src="data/lotus.jpg" alt="lotus" height="438" width="700">
        <p><span>This is an image of a big flower!</span></p>
    </li>
    <li id="4">
        <img src="data/stones.jpg" alt="stones" height="438" width="700">
        <p><span>Damn! Those are some nice looking stones!</span></p>
    </li>
</ul>

<ul id="thumb">
    <li><a href="#1"><img src="data/grass-blades.jpg" alt="grass-blades" height="50" width="50"></a></li>
    <li><a href="#2"><img src="data/ladybug.jpg" alt="ladybug" height="50" width="50"></a></li>
    <li><a href="#3"><img src="data/lotus.jpg" alt="lotus" height="50" width="50"></a></li>
    <li><a href="#4"><img src="data/stones.jpg" alt="stones" height="50" width="50"></a></li>
</ul>

</div>

</body></html>
 
Hallo,

möglichst cross-browser kompatibel
also bin ich nicht der einzigste der das etwas komisch findet.
Kein JS (was 99% haben) aber dafür auf webkit setzen was vielleicht nur 50% der user sehen, was aber auch wieder egal ist da die webkit Sachen hier nur mit Pseudoklasse angesprochen werden, die ja auch wieder nicht überall funktionieren :O).

Wenn das jetzt schon die minimal Sachen sind, wo ihr euch einschrenkt dann wird die Seite bestimmt geil.

Als CMS soll wahrscheinlich Typo3 zum Einsatz kommen.
Was hat das damit zu tun?
Ist doch egal was ihr für ein CMS nehmt, wenn ihr mit Typo3 klar kommt, Hauptsache was hinten raus kommt passt.

Ok ich bin dann raus hier und mach Platz für die, die helfen können und werde mein unqualifizierten Senf für mich behalten :O).

Cheffchen
 
Zurück
Oben