Μπερδεμένος με τα table και frame…

Ερωτήσεις και απαντήσεις σχετικές με την HTML, XHTML και την κατασκευή σελίδων για το Web.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
tpelek
Δημοσιεύσεις: 26
Εγγραφή: 14 Σεπ 2004 16:55
Επικοινωνία:

Μπερδεμένος με τα table και frame…

Δημοσίευση από tpelek » 20 Σεπ 2004 23:54

Έχω μπερδευτεί λίγο με τα TEBLE και με τα FRAME και δεν ξέρω ποιος είναι ο σωστός τρόπος να φτιάξω αυτό που θέλω,
Για να πάρω τα πράγματα από την αρχή το site θέλω να έχει την εξής μορφή

Εικόνα

Στο 1 είναι ένα Logo και μία menu bar
Στο 2,4 κάποιες στατικές πληροφορίες (κείμενα, εικόνες ή κάποια script)
Στο 3 τα θέματα των σελίδων ανάλογα με το τι έχεις επιλέξει από το menu
Στο 5 ένα μενού με 2 κουμπιά και ένα κείμενο του στιλ © 2004 κτλ.

Το 1,2,4,5 τα θέλω σταθερά ως προς το ύψος και στο 3 να αλλάζει το ύψος ανάλογα με τις πληροφορίες (κείμενα, εικόνες κτλ ) που έχει.
Στην αρχή προσπάθησα να το κάνω με <TALBE> αλλά δεν μου ήταν σταθερά το 2 και το 4 στις άκρες του παραθύρου (τέρμα αριστερά να ξεκινάει το 2 μόνιμα και το 4 τέρμα δεξιά να είναι μόνιμα.)

Ο κώδικάς που έφτιαξα με τα <TABLE> είναι ο εξής.

Κώδικας: Επιλογή όλων

<body topmargin="5" leftmargin="2" bgcolor="#D11010">

<div align="center">
  <center>
  <table border="0" cellpadding="0" cellspacing="0" style="border-collapse&#58; collapse" bordercolor="#111111" id="logo">
    <tr>
      <td nowrap>
      <img border="0" src="file&#58;///c/images/logo.jpg" align="middle" width="124" height="88></td>
    </tr>
  </table>
  </center>
</div>
<div align="center">
  <center>
  <table border="0" cellspacing="0" width="100%" cellpadding="0" id="menu_bar" bgcolor="#376534">
    <tr><td width="100%" height="36"><div align="center">
    		<a onMousedown="document.images&#91;'news'&#93;.src=img2.src" onMouseup="document.images&#91;'news'&#93;.src=img1.src">
            <img src="file&#58;//c&#58;/images/buttons/news_button.gif" name="news" border=0 width="80" height="36"></a>
            <a onMousedown="document.images&#91;'history'&#93;.src=img4.src" onMouseup="document.images&#91;'history'&#93;.src=img3.src">
            <img src="file&#58;//c&#58;/images/buttons/history_button.gif" name="history" border=0 width="221" height="36"></a>
            <a onMousedown="document.images&#91;'links'&#93;.src=img6.src" onMouseup="document.images&#91;'links'&#93;.src=img5.src">
            <img src="file&#58;//c/images/buttons/links_button.gif" name="links" border=0 width="110" height="36"></a>
      </td>
   </tr>
  </table>
  </center>
</div>
<div align="center">
  <center>
  <table border="0" cellpadding="0" cellspacing="0" style="border-collapse&#58; collapse" bordercolor="#111111" id="AutoNumber1">
       <tr><td width="25%" align="right">
         &nbsp;</td>
         <td align="center" width="50%">
         <img src="file&#58;//c&#58;/images/underconstr.jpg" width="617" height="434" vspace="15"></td>
         <td width="25%" align="left">
         &nbsp;</td>
    </tr>
  </table>
  </center>
  </div>
<div align="center">
  <center>
  <table border="0" cellpadding="0" cellspacing="0" style="border-collapse&#58; collapse" bordercolor="#111111" id="design by" width="249" height="12">
    <tr>
      <td align="center" valign="baseline">
      <p class="MsoNormal"><span lang="EN-US"><font size="1">Design by 
      <a href="mailto&#58;mail@mail.mail">me</a>| 
      Copyright © 2004 <a href="mailto&#58;admin@ofsite.gr">site.gr</a></font></span></p>
      </td>
    </tr>
  </table>
  </center>
</div>




</body>

</html>
Μετά προσπάθησα να το κάνω με <FRAME> τα πλαίσια 1,2,3,4,5 αλλά παρατήρησα ότι αν πατήσεις από το μενού κάποιο κουμπί, τον λινκ ανοίγει στο FRAME 1 όπου ήταν το μενού και όχι στο 3. Επίσης ένα άλλο που παρατήρησα με το FRAME τα περιθώρια μπορείς να τα αλλάξεις όταν βλέπεις την σελίδα και να εμφανίζουν μπάρες όπου έχει μικρύνει το μέγεθος, ενώ όπως είπα και ποιο πριν το 1,2,4,5 τα θέλω σταθερά.

Ο κώδικάς που έφτιαξα με τα <FRAME> είναι ο εξής.

Κώδικας: Επιλογή όλων

<frameset rows="20%,70%,*">
<frame src="file&#58;///index_menu.html" >
<frameset cols="25%,50%,*"><FRAME SRC="file&#58;///index_left.html"><frame src="file&#58;///intex_center.html"><frame src="file&#58;///index_right.html"></frameset><noframes></noframes>
<frameset cols="*"><frame src="file&#58;///index_bottom.html"></frameset>
</html>
Πώς είναι ποιο σωστό να το κάνω με TABLE ή με FRAME (με τo TABLE δεν έπρεπε να βγαίνει σωστό ;) , καμιά ιδέα πώς θα γίνει αυτό που θέλω γιατί δεν μπορώ να σκεφτώ τίποτε άλλο. :whistle:

Άβαταρ μέλους
Youli
Honorary Member
Δημοσιεύσεις: 1586
Εγγραφή: 29 Δεκ 2000 01:00
Τοποθεσία: Στο ηρωικό Τριπιτσούνι

Μπερδεμένος με τα table και frame&#8230;

Δημοσίευση από Youli » 21 Σεπ 2004 02:41

:-? Απο που να ξεκινήσω?

Ο πρώτος σου κώδικας είναι λάθος. Αν αποφασίσεις να το κάνεις με πίνακα, θα πρέπει να κάνεις εναν πίνακα και όχι να ανοιγοκλείνεις πολλούς πίνακες, όπως κάνεις εσύ. Δηλαδή να γίνει έτσι

Κώδικας: Επιλογή όλων

<body>
<table width="95%" height="480" border="0">
  <tr>
    <td height="70" colspan="3">&nbsp;</td>
  </tr>
  <tr>
    <td width="24%" height="336">&nbsp;</td>
    <td width="52%">&nbsp;</td>
    <td width="24%">&nbsp;</td>
  </tr>
  <tr>
    <td height="66" colspan="3">&nbsp;</td>
  </tr>
</table>
</body>
</html>
Αν θες να το κάνεις με frame, απλά βάλε στον link σου να ανοίγει στο frame 3. Αυτό με table δεν γίνεται. Αλλά με frames είναι εύκολο. Δίνεις ενα όνομα στο frame (frame name="mpla-mpla") και μετά πας στο <a href> και δίνεις για target το όνομα του frame (target=mpla-mpla).

Ερώτηση: Τον κώδικα μόνος σου τον έχεις γράψει ή χρησιμοποιείς κάποιο πρόγραμμα; Το tag <td> δεν χρειάζεται κλείσιμο :wink:

Για μένα, καλύτερα να το κάνεις με frames. :roll: Όχι οτι είμαι Η ειδική, απλά μια γνώμη λέω... :roll:

Άβαταρ μέλους
grjava
Δημοσιεύσεις: 387
Εγγραφή: 13 Μαρ 2002 01:00
Τοποθεσία: athens
Επικοινωνία:

Μπερδεμένος με τα table και frame&#8230;

Δημοσίευση από grjava » 21 Σεπ 2004 04:53

Σκέφτηκα μια λύση η οποία δεν ξέρω αν σου κάνει..
Τα παρακάτω τα κάνεις εφόσον δεν έχεις την δυνατότητα να τα κάνεις με PHP:

Εγώ λοιπόν προτείνω την λύση των "αυτόματων" iframes..

Το πρώτο που θα κάνεις είναι να δημιουργήσεις τα tables όπως στα περιέγραψε η Youli..

Μετά προσθέτεις το παρακάτω javascript στο head της σελίδας σου:



Κώδικας: Επιλογή όλων

<script type="text/javascript">

var iframeids=&#91;"myframe"&#93;


var iframehide="yes"

function resizeCaller&#40;&#41; &#123;
var dyniframe=new Array&#40;&#41;
for &#40;i=0; i<iframeids.length; i++&#41;&#123;
if &#40;document.getElementById&#41;
resizeIframe&#40;iframeids&#91;i&#93;&#41;

if &#40;&#40;document.all || document.getElementById&#41; && iframehide=="no"&#41;&#123;
var tempobj=document.all? document.all&#91;iframeids&#91;i&#93;&#93; &#58; document.getElementById&#40;iframeids&#91;i&#93;&#41;
tempobj.style.display="block"
&#125;
&#125;
&#125;

function resizeIframe&#40;frameid&#41;&#123;
var currentfr=document.getElementById&#40;frameid&#41;
if &#40;currentfr && !window.opera&#41;&#123;
currentfr.style.display="block"
if &#40;currentfr.contentDocument && currentfr.contentDocument.body.offsetHeight&#41; //ns6 syntax
currentfr.height = currentfr.contentDocument.body.offsetHeight; 
else if &#40;currentfr.Document && currentfr.Document.body.scrollHeight&#41; //ie5+ syntax
currentfr.height = currentfr.Document.body.scrollHeight;
if &#40;currentfr.addEventListener&#41;
currentfr.addEventListener&#40;"load", readjustIframe, false&#41;
else if &#40;currentfr.attachEvent&#41;&#123;
currentfr.detachEvent&#40;"onload", readjustIframe&#41; // Bug fix line
currentfr.attachEvent&#40;"onload", readjustIframe&#41;
&#125;
&#125;
&#125;

function readjustIframe&#40;loadevt&#41; &#123;
var crossevt=&#40;window.event&#41;? event &#58; loadevt
var iframeroot=&#40;crossevt.currentTarget&#41;? crossevt.currentTarget &#58; crossevt.srcElement
if &#40;iframeroot&#41;
resizeIframe&#40;iframeroot.id&#41;;
&#125;

function loadintoIframe&#40;iframeid, url&#41;&#123;
if &#40;document.getElementById&#41;
document.getElementById&#40;iframeid&#41;.src=url
&#125;

if &#40;window.addEventListener&#41;
window.addEventListener&#40;"load", resizeCaller, false&#41;
else if &#40;window.attachEvent&#41;
window.attachEvent&#40;"onload", resizeCaller&#41;
else
window.onload=resizeCaller

</script>

Το επόμενο βήμα είναι να προσθέσεις τον παρακάτω κώδικα μέσα στο cell 3:

Κώδικας: Επιλογή όλων

<iframe id="myframe" src="arxh.htm" scrolling="no" marginwidth="0" marginheight="0" frameborder="0" vspace="0" hspace="0" style="overflow&#58;visible; width&#58;100%; display&#58;none"></iframe>
Όπου src="arxh.htm" είναι η διεύθυνση της σελίδας που θα ανοίγει με την είσοδο στο αρχείο.

Για να ανοίξει ένα νέο link μέσα στο cell 3 θα πρέπει να δώσεις τον παρακάτω κώδικα:

Κώδικας: Επιλογή όλων

<A href="javascript&#58;loadintoIframe&#40;'myframe','test.htm'&#41;">Link</A>
Όπου 'test.htm' το όνομα του αρχείου που θα σου ανοίγει το link και όπου Link ο τίτλος του link.
Προσοχή! Η διεύθυνση του αρχείου δεν πρέπει να είναι της μορφής http://www.tositesou.gr/fakelos/test.htm αλλά /fakelos/test.htm δηλ. να μην έχει μπροστά το http://www.tositesou.gr γιατί δεν θα δουλέψει το script.

Δες ένα παράδειγμα εδώ:
http://grjava.com/test/

Συμβουλή: Τα αρχεία τα οποία θα γίνονται include μέσα στο cell 3 να τα φειάχνεις μέσα σε tables τα οποία θα έχουν width=100% διότι το iframe παίρνει αυτόματα το μήκος του αρχείου και υπάρχει πιθανότητα να μην σου εμφανίζει όλη την σελίδα. Δες ένα παράδειγμα εδώ:
http://grjava.com/test/index1.htm

Ελπίζω να βοήθησα.. :)

Άβαταρ μέλους
tpelek
Δημοσιεύσεις: 26
Εγγραφή: 14 Σεπ 2004 16:55
Επικοινωνία:

Μπερδεμένος με τα table και frame&#8230;

Δημοσίευση από tpelek » 21 Σεπ 2004 11:11

Ευχαριστώ και τους δύο σας ίδιος για τα την σελίδα που έφτιαξες για παράδειγμα grjava :P , Το απογευματάκι που θα πάω σπίτι θα τα κοιτάξω και τα δύο και θα δω τι με βολεύει. :)
Youli έγραψε:
Ερώτηση: Τον κώδικα μόνος σου τον έχεις γράψει ή χρησιμοποιείς κάποιο πρόγραμμα; Το tag <td> δεν χρειάζεται κλείσιμο :wink:
Για τον κώδικα χρησιμοποιώ Dreamweaver και Front Page αλλά ποίο πολύ τον γράφω εγώ δεν χρησιμοποιώ το design που έχουν τα προγράμματα, αλλά το </td> πρέπει να μου έχει μείνει από αυτά που διάβασα εδώ :D

Άβαταρ μέλους
cordis
Administrator, [F|H]ounder, [C|S]EO
Δημοσιεύσεις: 27620
Εγγραφή: 09 Οκτ 1999 03:00
Τοποθεσία: Greece
Επικοινωνία:

Μπερδεμένος με τα table και frame&#8230;

Δημοσίευση από cordis » 21 Σεπ 2004 12:44

δεν υπάρχει tag που δε θέλει κλείσιμο... ;)
Δεν απαντάω σε προσωπικά μηνύματα με ερωτήσεις που καλύπτονται από τις ενότητες του forum. Για ο,τι άλλο είμαι εδώ για εσάς.
- follow me @twitter

Άβαταρ μέλους
Youli
Honorary Member
Δημοσιεύσεις: 1586
Εγγραφή: 29 Δεκ 2000 01:00
Τοποθεσία: Στο ηρωικό Τριπιτσούνι

Μπερδεμένος με τα table και frame&#8230;

Δημοσίευση από Youli » 21 Σεπ 2004 19:11

Κάνεις λάθος Γιάννη. Δεν ξέρω για όλα τα υπόλοιπα, αλλά το συγκεκριμένο δεν θέλει κλείσιμο. Μια δοκιμή θα σε πείσει :P

Άβαταρ μέλους
cordis
Administrator, [F|H]ounder, [C|S]EO
Δημοσιεύσεις: 27620
Εγγραφή: 09 Οκτ 1999 03:00
Τοποθεσία: Greece
Επικοινωνία:

Μπερδεμένος με τα table και frame&#8230;

Δημοσίευση από cordis » 21 Σεπ 2004 19:22

Το σωστό νομίζω είναι κάπου στην μέση...
Δεν είναι απαρέτητο το κλείσιμό του... ;)
Δεν απαντάω σε προσωπικά μηνύματα με ερωτήσεις που καλύπτονται από τις ενότητες του forum. Για ο,τι άλλο είμαι εδώ για εσάς.
- follow me @twitter

Άβαταρ μέλους
Youli
Honorary Member
Δημοσιεύσεις: 1586
Εγγραφή: 29 Δεκ 2000 01:00
Τοποθεσία: Στο ηρωικό Τριπιτσούνι

Μπερδεμένος με τα table και frame&#8230;

Δημοσίευση από Youli » 21 Σεπ 2004 19:25

Σίγουρα δεν είναι απαρέτητο!!! Αλλά, αμα δεν είναι απαραίτητο, γιατί να το βάλεις; Δεν σου φτάνουν τοσα tags άνοιξε κλείσε; Θες κι αυτό; :P

Άβαταρ μέλους
cordis
Administrator, [F|H]ounder, [C|S]EO
Δημοσιεύσεις: 27620
Εγγραφή: 09 Οκτ 1999 03:00
Τοποθεσία: Greece
Επικοινωνία:

Μπερδεμένος με τα table και frame&#8230;

Δημοσίευση από cordis » 21 Σεπ 2004 19:32

Η Γιούλη μόλις απέκτησε μια κίτρινη κάρτα... :wink:
Δεν απαντάω σε προσωπικά μηνύματα με ερωτήσεις που καλύπτονται από τις ενότητες του forum. Για ο,τι άλλο είμαι εδώ για εσάς.
- follow me @twitter

Άβαταρ μέλους
Expl0it
Honorary Member
Δημοσιεύσεις: 2364
Εγγραφή: 25 Αύγ 2003 23:24
Τοποθεσία: home/sweet/home

Μπερδεμένος με τα table και frame&#8230;

Δημοσίευση από Expl0it » 21 Σεπ 2004 19:37

Και εσύ μια κάρτα για εγγραφή στο δημοτικό να μάθεις ορθογραφία :lol:

αααααααααχαχαχαχαχχαχαχααχχααχχα
LET THE C0DER IN YOUR LIFE
Fatal Error: Unable to read 3555 bytes in /root/head/brain/task.php on line 0

Εικόνα

Άβαταρ μέλους
Youli
Honorary Member
Δημοσιεύσεις: 1586
Εγγραφή: 29 Δεκ 2000 01:00
Τοποθεσία: Στο ηρωικό Τριπιτσούνι

Μπερδεμένος με τα table και frame&#8230;

Δημοσίευση από Youli » 21 Σεπ 2004 19:40

cordis έγραψε:Η Γιούλη μόλις απέκτησε μια κίτρινη κάρτα... :wink:
Γιατί καλέ κύριε διαιτητά με κιτρινιάσατε; Τι έκανα; :roll:

Άβαταρ μέλους
ArchangelX
Honorary Member
Δημοσιεύσεις: 2430
Εγγραφή: 24 Μαρ 2004 13:33
Τοποθεσία: 7ος Ουρανός
Επικοινωνία:

Μπερδεμένος με τα table και frame&#8230;

Δημοσίευση από ArchangelX » 21 Σεπ 2004 21:16

Kapoios na sfyriksei sta palikaria ths dreamweaver kai ths microsoft na stamathsoyn na spatalan grammes bazontas a8lia </td>...

Exw thn ekshs aporia. Dekto oti doyleyei etsi se IE o opoios einai kai o pio synh8ismenos sta perissotera target group. To erwthma moy einai se poion IE kai sygkekrimena milaw gia version. As mhn ksexname oti o px 5.5 den anagnwrizei oyte kan an ta scrollbars exoyn style, oyte an to iframe einai transparent... den paw sta pio palia giati 8elw na elpizw oti exoyn ekleipsei. Se enan tetoio palio browser, to table fainete swsta ean den yparxei kleisimo sthlhs?
Εικόνα

Άβαταρ μέλους
geraki
Honorary Member
Δημοσιεύσεις: 1404
Εγγραφή: 26 Ιαν 2004 20:10
Τοποθεσία: Θεσσαλονίκη
Επικοινωνία:

Μπερδεμένος με τα table και frame&#8230;

Δημοσίευση από geraki » 21 Σεπ 2004 22:58

Σε xhtml όμως πρέπει να κλείσει, σωστά;
Εικόνα &#8592; Αυτό το έκλεψα απ'τον Eneme.

Άβαταρ μέλους
fmayakos
Honorary Member
Δημοσιεύσεις: 1249
Εγγραφή: 23 Ιούλ 2001 03:00
Τοποθεσία: Θεσσαλονίκη

Μπερδεμένος με τα table και frame&#8230;

Δημοσίευση από fmayakos » 21 Σεπ 2004 23:16

Filter έγραψε:Και εσύ μια κάρτα για εγγραφή στο δημοτικό να μάθεις ορθογραφία :lol:

αααααααααχαχαχαχαχχαχαχααχχααχχα
όχι απλώς lol! Καρα-lol!

Άβαταρ μέλους
tpelek
Δημοσιεύσεις: 26
Εγγραφή: 14 Σεπ 2004 16:55
Επικοινωνία:

Μπερδεμένος με τα table και frame&#8230;

Δημοσίευση από tpelek » 22 Σεπ 2004 11:58

Για να επανέρθω στο θέμα, τελικά το έκανα με έναν πίνακα όπως είπε ή Youli και χρησιμοποίησα iframe όπως είπε ο grjava . Το αποτέλεσμα είναι αυτό πυ θέλω προς το παρών και ελπίζω στήνοντας την σελίδα σιγά σιγά να μην με περιορίσει πουθενά...

Υ.Γ.
Τελικά αν βάζουμε το </td> στο τέλος εκτός από τις παραπάνω γραμμές έχει άλη επίπτωση στην σελίδα ; Μήπως είναι ποίο σωστός ο κώδικας αν έχει το κλείσιμο του tag ;

Απάντηση

Επιστροφή στο “HTML και XHTML”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες