2013-04-10 11 views
5

Ho il seguente codice HTML e PHP:Come faccio a racchiudere i collegamenti in una cella di tabella in modo che non interrompa il flusso della tabella?

 <?php 
      if ($_POST["submit"] == "Get Articles") { 
       $api_url = "https://DonutJuice:so%20many%20people%20in%20my%[email protected]/v1/posts/all?format=json"; 

       $ch = curl_init(); 

       curl_setopt($ch, CURLOPT_URL, $api_url); 
       curl_setopt($ch, CURLOPT_HEADER, FALSE); 
       curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

       $json = curl_exec($ch); 

       curl_close($ch); 

       $values = json_decode($json, true); 

       echo "<div class='article-output'>"; 
       echo "<table>"; 
       echo "<tr><th>URL</th> <th>Title</th></tr>"; 

       foreach ($values as $bookmark) { 
        $bookmark_url = $bookmark["href"]; 
        $bookmark_title = $bookmark["description"]; 
        echo "<tr><td><a href='" . $bookmark_url . "'>" . $bookmark_url . "</a></td> <td>" . $bookmark_title . "</td></tr>"; 
       } 

       echo "</table>"; 
       echo "</div>"; 
      } 
     ?> 

Con questo CSS:

table { 
    margin-top: 50px; 
    padding: 5px 20px; 

    background: rgba(255, 255, 255, 0.5); 
    border: 1px solid #a9a8a7; 
    border-radius: 5px; 
} 

tr { 
    height: 50px; 
} 

th { 
    color: #173769; 
} 

td { 
    width: 60px; 
    word-wrap: break-word; 

    color: #444; 
} 

    td:first-child { 
     padding-right: 30px; 
    } 

Ma ogni volta che si preme il pulsante che elabora che PHP, ho cose come questa:

enter image description here

Dove stanno ancora rompendo il layout della pagina spietatamente.

Come posso risolvere questo problema?

+0

Le domande CSS richiedono generato HTML – cimmanon

+0

È piuttosto ovvio quale sarà. – user212541

+0

Sì, è ovvio che sarà una tabella con del testo al suo interno. Tranne che stai costringendo le persone che sono interessate ad aiutarti a scrivere il codice a mano invece di dedicare del tempo a fornire il codice che possono rapidamente copiare/incollare nel loro strumento di dimostrazione di scelta. – cimmanon

risposta

3

La proprietà word-break può forzare avvolgimento a verificarsi quando le linee sono troppo lunghi

http://tinker.io/ca0ae

td { 
    word-break: break-all; 
    word-break: break-word; 
} 
1

Si può sempre farlo sul PHP side:

echo "<tr><td><a href='" . $bookmark_url . "'>" . wordwrap($bookmark_url, 40, "\n") . "</a></td> <td>" . $bookmark_title . "</td></tr>"; 
0

Modifica td in CSS:

td { 
    width: 60px; 
    color: #444; 
    text-overflow: ellipsis; 
    white-space: nowrap; 
    overflow: hidden; 
} 
Problemi correlati