0

ここで初めて質問します。

私はテーブルを中心に構築したサイトを持っています。良くないことはわかっていますが、それは完了しています。Firefox では問題ないように見えますが、IE ではテキストがあちこちに表示されます。

リンクはhttp://www.mothershipinc.com 警告:音楽が含まれています

インデックス ページのコードは次のとおりです。

<?php
include "db.php";

function imageResize($width, $height, $target) {

    //takes the larger size of the width and height and applies the formula accordingly...this is so this script will work dynamically with any size image
    if ($width > $height) {
    $percentage = ($target / $width);
    } else {
    $percentage = ($target / $height);
    }

    //gets the new value and applies the percentage, then rounds the value
    $width = round($width * $percentage);
    $height = round($height * $percentage);

    //returns the new sizes in html image tag format...this is so you can plug this function inside an image tag and just get the
    return "width=\"$width\" height=\"50\"";
}

function imageResize150($width, $height, $target) {

    //takes the larger size of the width and height and applies the formula accordingly...this is so this script will work dynamically with any size image
    if ($width > $height) {
    $percentage = ($target / $width);
    } else {
    $percentage = ($target / $height);
    }

    //gets the new value and applies the percentage, then rounds the value
    $width = round($width * $percentage);
    $height = round($height * $percentage);

    //returns the new sizes in html image tag format...this is so you can plug this function inside an image tag and just get the
    return "width=\"150\" height=\"$height\"";
}

$playerSQL = "SELECT * FROM main";
$playerResult = mysql_query($playerSQL) or die(mysql_error());
$playerRS = mysql_fetch_array($playerResult);

?>

<html>
<head>
<link rel="stylesheet" href="css/template.css" type="text/css" />
<?php include "fadeinscript2.php"; ?>
<?php include "fadeinscript.php"; ?>
</head>
<body id="page_bg">
<div align="center">
   <table width="800" height="100%" border="0">
     <tr>
    <td colspan="7" valign="bottom" align="right" height="80" background="images/header.gif" style="background-repeat:no-repeat;padding-bottom:5px;padding-right:20px;">
         <font style="font-size:12px;" color="#ffffff"><a href="index.php" style="text-decoration:none;font-size:12px;color:#ffffff;">Home</a> | <a href="artist.php?artistid=0" style="text-decoration:none;font-size:12px;color:#ffffff;">Artists</a></font>
       </td>
     </tr>
     <tr>
       <td colspan="7">
       </td>
     </tr>
     <tr>
       <td colspan="7">
       </td>
     </tr>
     <tr>
<!--BEGIN CURRENT RELEASES BLOCK-->
       <td valign="top" width="189" height="280" background="images/small_home_box.gif" style="background-repeat:no-repeat;padding-top:8px;">
      <table width="100%">
        <tr>
        <td align="left" colspan="2">
          <font style="font-size: 18px" color="#ffffff">Current Releases</h1><br />
        </td>
        </tr>
       <?php
        $crQuery = "SELECT * FROM albums WHERE currentrelease='y' ORDER BY orderfield LIMIT 4";
        $crResult = mysql_query($crQuery) or die(mysql_error());
        while ($crRS = mysql_fetch_array($crResult))
        {
          // Get Artist Name
          $artistQuery = "SELECT * FROM artists WHERE id=" . $crRS['artistid'];
          $artistResult = mysql_query($artistQuery) or die(mysql_error());
          $artistRS = mysql_fetch_array($artistResult);
          $image_location = $crRS['image_location'];
          echo "<tr>";
          echo "<td width='55' valign='top' style='padding-top:3px;'>";
              //Display profile image
              //$myimage = getimagesize("albums/" . $image_location);
              //$newsize = imageResize($myimage[0], $myimage[1], 50);
              echo "<a href='artist.php?artistid=" . $artistRS['id'] . "' target='_self'><img src='albums/" . $image_location . "' height='50' width='50' border='0'></a>";     
          echo "</td>";
          echo "<td align='left' valign='top'>";
          echo "<font style='color:#ffffff;font-size:.7em;'>";
          echo "<b><a href='artist.php?artistid=" . $artistRS['id'] . "' target='_self' style='text-decoration:none;color:#ffffff;'>" . stripslashes($artistRS['artist_name']) . "</a></b><br />";
          echo "<a href='artist.php?artistid=" . $artistRS['id'] . "' target='_self' style='text-decoration:none;color:#ffffff;'>" . stripslashes($crRS['album_name']) . "</a>";
          echo "</td>";
          echo "</tr>";
        }
       ?>
        <tr>
          <td colspan="2" align="right" style="font-size:.7em; color:#ffffff;padding-right:12px;">
            more current releases
          </td>
        </tr>
         </table>   
       </td>
<!--END CURRENT RELEASES BLOCK-->
       <td width="25" valign="top">
         &nbsp;
       </td>
<!--BEGIN FLASH BLOCK-->
       <td colspan="3" width="374" height="280" align="center" valign="middle" background="images/big_home_box.gif" style="background-repeat:no-repeat;padding-right:8px;">
             <script type="text/javascript">
            //new fadeshow(IMAGES_ARRAY_NAME, slideshow_width, slideshow_height, borderwidth, delay, pause (0=no, 1=yes), optionalRandomOrder)
            new fadeshow(fadeimages, 350, 250, 0, 3000, 1, "R")
          </script>
       </td>
<!--END FLASH BLOCK-->
    <td width="10" valign="top">
         &nbsp;
       </td>
<!--BEGIN APPEARANCES BOX-->
    <td valign="top" width="189" height="280" background="images/small_home_box.gif" style="background-repeat:no-repeat;padding-top:8px;">
      <table width="100%">
        <tr>
        <td align="left" colspan="2">
          <font style="font-size: 18px" color="#ffffff">Shows</h1><br />
        </td>
        </tr>
        <?php
        $crQuery = "SELECT * FROM appearances";
        $crResult = mysql_query($crQuery) or die(mysql_error());
        $crRS = mysql_fetch_array($crResult);
          echo "<tr>";
          echo "<td width='55' valign='top' style='padding-top:3px;'>";
          echo "<font style='color:#ffffff;font-size:.7em;'>";
          echo ereg_replace("(\r\n\r\n|\n\n|\r\r)", "<br /><br />", substr($crRS['shows'],0,300));
          echo "</font>\n";
          echo "</td>";
          echo "</tr>"; 
       ?>
        <tr>
          <td colspan="2" align="right" style="font-size:.7em; color:#ffffff;padding-right:12px;">
            &nbsp;
          </td>
        </tr>
         </table>   
       </td>
<!--END APPEARANCES BOX-->
    </tr>
         <tr>
<!--BEGIN UPCOMING RELEASES BLOCK-->
       <td valign="top" width="189" height="367" background="images/tall_home_box.gif" style="background-repeat:no-repeat;padding-top:8px;">
      <table width="100%">
        <tr>
        <td align="left" colspan="2">
          <font style="font-size: 18px" color="#ffffff">Upcoming Releases</h1><br />
        </td>
        </tr>
        <?php
        $crQuery = "SELECT * FROM albums WHERE newrelease='y' ORDER BY orderfield LIMIT 4";
        $crResult = mysql_query($crQuery) or die(mysql_error());
        while ($crRS = mysql_fetch_array($crResult))
        {
          // Get Artist Name
          $artistQuery = "SELECT * FROM artists WHERE id=" . $crRS['artistid'];
          $artistResult = mysql_query($artistQuery) or die(mysql_error());
          $artistRS = mysql_fetch_array($artistResult);
          echo "<tr>";
          echo "<td width='55' valign='top' style='padding-top:3px;'>";
              //Display profile image
              //$myimage = getimagesize("albums/" . $crRS['image_location']);
              //$newsize = imageResize($myimage[0], $myimage[1], 50);
              echo "<a href='artist.php?artistid=" . $artistRS['id'] . "' target='_blank'><img src='albums/" . $crRS['image_location'] . "' height='50' width='50' border='0'></a>";     
          echo "</td>";
          echo "<td align='left' valign='top'>";
          echo "<font style='color:#ffffff;font-size:.7em;'>";
          echo "<b><a href='artist.php?artistid=" . $artistRS['id'] . "' target='_blank' style='text-decoration:none;color:#ffffff;'>" . $artistRS['artist_name'] . "</a></b><br />";
          echo "<a href='artist.php?artistid=" . $artistRS['id'] . "' target='_blank' style='text-decoration:none;color:#ffffff;'>" . $crRS['album_name'] . "</a><br />";
          echo "<a href='artist.php?artistid=" . $artistRS['id'] . "' target='_blank' style='text-decoration:none;color:#ffffff;'>" . $crRS['release_date'] . "</a>";
          echo "</td>";
          echo "</tr>";
        }
       ?>
        <tr>
          <td colspan="2" align="right" style="font-size:.7em; color:#ffffff;padding-right:12px;">
            &nbsp;
          </td>
        </tr>
         </table>   
       </td>
<!--END UPCOMING RELEASES BLOCK-->
<!--BEGIN PLAYER BLOCK-->
     <td colspan="5" valign="top" width="418" height="367">
      <table width="100%">
        <tr>
          <td align="center">
            <?php
            echo stripslashes($playerRS['playercode']);
        ?>  
          </td> 
        </tr>
         </table>       
    </td>
<!--END PLAYER BLOCK-->
<!--BEGIN NEWS BOX-->
    <td valign="top" width="189" height="367" background="images/tall_home_box.gif" style="background-repeat:no-repeat;padding-top:8px;">
      <table width="100%">
        <tr>
        <td align="left" colspan="2">
          <font style="font-size: 18px" color="#ffffff">News</h1><br />
        </td>
        </tr>
        <?php
        $crQuery = "SELECT * FROM news";
        $crResult = mysql_query($crQuery) or die(mysql_error());
        $crRS = mysql_fetch_array($crResult);
          echo "<tr>";
          echo "<td width='55' valign='top' style='padding-top:3px;'>";
          echo "<font style='color:#ffffff;font-size:.7em;'>";
          echo ereg_replace("(\r\n\r\n|\n\n|\r\r)", "<br /><br />", substr($crRS['news'],0,500));
          echo "</font>\n";
          echo "</td>";
          echo "</tr>"; 
       ?>
        <tr>
          <td colspan="2" align="right" style="font-size:.7em; color:#ffffff;padding-right:12px;">
            more news
          </td>
        </tr>
         </table>   
       </td>
<!--END APPEARANCES BOX-->
    </tr>
    <tr>
<!--BEGIN ARTISTS BOX-->
    <td colspan="7" width="800" height="300" align="center" valign="top" background="images/artists.gif" style="background-repeat:no-repeat;padding-top:8px; padding-right:4px; padding-left:4px;">
      <table width="100%">
        <tr>
        <td align="left" colspan="2">
          <font style="font-size: 18px" color="#ffffff">Artists</font><br />
        </td>
        </tr>
        <tr>
        <?php
        $crQuery = "SELECT * FROM artists ORDER BY orderfield LIMIT 36";
        $crResult = mysql_query($crQuery) or die(mysql_error());
        $artists = 0;
        $totalartists = mysql_num_rows($crResult);
        while ($crRS = mysql_fetch_array($crResult))
        {
          $artists = $artists + 1;
          echo "<td width='100' align='center' valign='top' style='padding-top:3px;'>\n";
              //Display profile image
              echo "<a href='artist.php?artistid=" . $crRS['id'] . "' target='_self'><img src='artists/" . $crRS['image_location'] . "' height='75' width='75' border='0'></a><br />\n"; 
              echo "<a href='artist.php?artistid=" . $crRS['id'] . "' target='_self' style='text-decoration:none;color:#ffffff;font-size:.7em;'>" . $crRS['artist_name'] . "</a>\n";
          echo "</td>\n";
          if($artists == 8 || $artists == 16 || $artists == 24)
          {
            echo "</tr>\n";
            echo "<tr>\n";
          }
        }
       ?>
        </tr>
        <tr>
          <td colspan="6" align="right" style="font-size:.7em; color:#ffffff;padding-right:12px;">
            <a href="artist.php?artistid=0" style='text-decoration:none;color:#ffffff;font-size:.7em;'>more artists</a>
          </td>
        </tr>
         </table>       
     </td>
<!--END ARTISTS BOX-->
    </tr>       
    <tr>
        <td colspan="4" align="left" style="padding-left:15px;color:#ffffff;font-size:.75em;">
            Copyright &copy;2009 Mothership Inc.
        </td>
        <td colspan="3" align="right" style="padding-right:15px;">
            <a href="mailto:kevin@mothershipinc.com" style="color:#ffffff;text-decoration:none;font-size:.75em;">Contact Us</a>
        </td>
    </tr>   
   </table>
</div>
</body>
</html>
4

4 に答える 4

2

コードの次のブロックを検討してください。

<td valign="top" width="189" height="280" background="images/small_home_box.gif" style="background-repeat:no-repeat;padding-top:8px;">
      <table width="100%">
        <tr>
        <td align="left" colspan="2">
          <font style="font-size: 18px" color="#ffffff">Shows</h1><br />
        </td>
        </tr>
        <tr><td width='55' valign='top' style='padding-top:3px;'><font style='color:#ffffff;font-size:.7em;'>PASADENA<br /><br />Mar 17 2009 8:00P 
 Nabbs Creek Cafe Pasadena, Maryland <br /><br />Mar 19 2009 8:00P 
 thew barn with 86 the effort Carney, Maryland <br /><br />Mar 20 2009 8:00P 
 whiskey bar w/ b&b Hoboken, New Jersey <br /><br />Mar 21 2009 9:00P 
 Red House Tavern w/ Bond & bentley,Tsunami Rising! Baltimore, Maryland </font>
</td></tr>

幅 189 の親 td がありますが、コンテンツを持つ子 td は 55 しかありません。それが、テキストが消える理由です。

于 2009-03-20T13:30:24.570 に答える
1

テーブルの代わりに分割を使用してそのレイアウトを作成することは、実際にはそれほど苦痛ではありません。

ただし、次の点に注意する必要があります。

min-widthは、Firefoxの古いバージョンのIEではサポートされていません。境界線とパディングは除外されています。IE6では、境界線とパディングは幅の内側にあります。例-10pxのパディングを含む100pxのボックスは、FFでは120px幅、IE6では100px幅です。

<div style="width: 800px; height: 80px; margin: 5px auto; background-color: Aqua;">
    <h2>Mothership Records Banner</h2>
</div>
<div style="width: 800px; margin: 10px auto; clear: both;">
    <div style="width: 178px; margin-right: 35px; float: left; background-color: Aqua;">Current Releases</div>
    <div style="width: 374px; margin-right: 35px; float: left; background-color: Aqua;">Image Banner Thing</div>
    <div style="width: 178px; float: left; background-color: Aqua;">Shows</div>
</div>
<div style="width: 800px; margin: 10px auto; clear: both;">
    <div style="width: 178px; margin-right: 35px; float: left; background-color: Aqua;">Upcoming Releases</div>
    <div style="width: 374px; margin-right: 35px; float: left; background-color: Aqua;">Player</div>
    <div style="width: 178px; float: left; background-color: Aqua;">News</div>
</div>
<div style="width: 800px; margin: 10px auto; clear: both; background-color: Aqua;">
    Artists
</div>
<div style="width: 800px; margin: 10px auto; clear: both;">
    Copyright
</div>
于 2009-03-20T13:43:59.840 に答える
0

これは、IE6(私が見たもの)がmin-widthタグをサポートしていないという事実と関係があります。これは、あなたが使用していることに気づきました。IE6は、いわば、マージンとパディングも幅としてカウントします。

于 2009-03-20T13:34:11.080 に答える
0

HTML が出力される前に doctype strict を宣言することで、ほとんどのブラウザーに (ほぼ) 同じようにレンダリングさせることができます。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

Doctype は、ページのスタイルをレンダリングする際に従うべき規則のセットをブラウザーに指示します。厳密モードの Doctype は、私の経験ではブラウザー間で最も類似しています。

Quirksmodeにはdoctypesの非常に優れた概要があり、それらの比較表は一流です。

これと関係があるとは思えませんが、htmlも壊れています。ボックス内のすべてのヘッダー (現在のリリース、ショー、ニュース) は で囲まれてい<font>Header</h1>ます。

于 2009-03-20T14:49:37.063 に答える