[HTML][PHP] a href dupliceert zich in onderliggende elemente

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • IMarks
  • Registratie: Juli 2011
  • Laatst online: 11-07 18:55
Probleem is opgelost, het lag hem bij de a tag binnen de a tag, te zien op regel 19


Ik ben bezig met een foto-album waar een thumbnail van de foto te zien is (op dit moment gewoon geschaald) om de volledige div zit me a href naar een lightbox (versie 2).

echter dat de a alleen om de div heen zit gaat die ook om alle elementen zitten (fysiek, de link zelf is wel gewenst) met als resultaat dat 1 foto ongeveer 6 keer terugkeert in me lightbox fotoalbum

zelf heb ik bij eerdere site's gezien dat dit wel gewoon zou moeten werken zoals ik het nu wil hebben
(één enkele a die alleen inliggende elementen een href geeft)

ook een display: block; heb ik geprobeerd (werd aangeraden bij soortgelijke problemen) maar ook dit had geen effect.

plugins/library's die draaien op mijn site zijn jQuery, lightbox 2 en GoogleAnalytics

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
    $fotos = $this->fotos;
    foreach($fotos as $foto):
    ?>
        <section id="header"  style="background-image: url(<?php echo $foto->filepad; ?>); background-position: 0 400px;"></section>
    <?php
        break;
    endforeach;
?>
<section class="content">
    <section class="links">
        <?php foreach ($fotos as $foto): ?>
            <a href="<?php echo $foto->filepad; ?>" rel="lightbox[outerlink]">
                <div>
                    <article class="foto">
                        <h1><?php echo $foto->titel; ?></h1>
                        <img src="<?php echo $foto->filepad; ?>" width="244" height="115" title="<?php echo $foto->titel; ?>" alt="<?php echo $foto->titel; ?>" />
                        <footer>
                            <a href="<?php echo $foto->filepad; ?>" rel="lightbox[innerlink]" class="link">Bekijk het origineel</a>
                        </footer>
                    </article>
                </div>
            </a>
        <?php endforeach; ?>
    </section>
</section>

Acties:
  • 0 Henk 'm!

  • Tarilo
  • Registratie: December 2007
  • Laatst online: 15:49
Ik snap niet precies wat je bedoelt met de <a> die om alle elementen heen zit. Alle elementen die je in je code tussen de <a> en </a> tags worden onderdeel van die link.

In je code heb je ook een link in je buitenste link gedefinieerd, dat gaat zowieso niet goed. Daarnaast kan een <a> tag voor zover ik weet geen block-level elementen bevatten, zoals <div>.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 12-07 23:36

NMe

Quia Ego Sic Dico.

Het probleem zit dan ook niet op regel 19 maar op regel 13 inderdaad.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Rickets
  • Registratie: Augustus 2001
  • Niet online

Rickets

Finger and a shift

7laurens7 schreef op dinsdag 13 november 2012 @ 11:47:
Daarnaast kan een <a> tag voor zover ik weet geen block-level elementen bevatten, zoals <div>.
Terzijde: voorheen was dat niet toegestaan, maar volgens de specificatie van HTML5 mag dat wel. Zie "Flow content" in onderstaande lijst:
4.6.1 The a element
Categories:
Flow content.
Phrasing content.
Interactive content.
Palpable content.
Het heeft overigens altijd al gewerkt en is daarom backwards compatible. Een a-element met daarin een div kan je dus prima gebruiken.

If some cunt can fuck something up, that cunt will pick the worst possible time to fucking fuck it up, because that cunt’s a cunt.


Acties:
  • 0 Henk 'm!

  • Tarilo
  • Registratie: December 2007
  • Laatst online: 15:49
Rickets schreef op dinsdag 13 november 2012 @ 12:04:
Het heeft overigens altijd al gewerkt en is daarom backwards compatible. Een a-element met daarin een div kan je dus prima gebruiken.
Dank, ik wist niet dat de html5 specificatie dat wel toestaat. Dat het altijd gewerkt heeft is niet echt een reden vind ik, er zijn wel meer dingen in html die altijd gewerkt hebben. ;)