2013-04-10 8 views
5

mam następujące HTML i PHP:W jaki sposób mogę łączyć zawijanie tekstu w komórce tabeli, aby nie naruszyć przepływu tabeli?

 <?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>"; 
      } 
     ?> 

Dzięki tej 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; 
    } 

Ale kiedy tylko nacisnąć przycisk, który procesów PHP, mam takie rzeczy:

enter image description here

Gdzie oni wciąż łamią układ strony bezlitośnie.

Jak to naprawić?

+0

Pytania CSS wymagają wygenerowanego HTML – cimmanon

+0

To raczej oczywiste, co to będzie. – user212541

+0

Tak, jest oczywiste, że będzie to tabela z tekstem. Oprócz tego, że zmuszasz ludzi, którzy są zainteresowani pomocą w pisaniu kodu ręcznie, zamiast poświęcić czas na dostarczenie kodu, który można szybko skopiować/wkleić do wybranego przez nich narzędzia demonstracyjnego. – cimmanon

Odpowiedz

3

Obiekt word-break może wymusić zawijanie występuje, gdy linie są zbyt długie

http://tinker.io/ca0ae

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

Można zawsze zrobić go na PHP side:

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

Edit td w CSS:

td { 
    width: 60px; 
    color: #444; 
    text-overflow: ellipsis; 
    white-space: nowrap; 
    overflow: hidden; 
} 
Powiązane problemy