PDA

View Full Version : width trong css ,điên cái đầu :|



BabyOneMoreTime
13-10-2008, 23:26
Tham khảo nhiều topic trong 4rum này rồi mà vẫn chưa tìm được giải pháp ,các pác giúp em phát .Em có đoạn code sau :


<?php do { ?>
<?php if ($totalRows_viewComment > 0) { // Show if recordset not empty ?>
<div id="qcomment">
<strong><?php echo $row_viewComment['author']; ?></strong><br />
<span><?php echo $row_viewComment['content']; ?><br /></span><br />
<?php echo gmdate("d-M-Y H:i:s",$row_viewComment['dateTime']); ?><br />
<br />
</div>
<?php } // Show if recordset not empty ?>
<?php } while ($row_viewComment = mysql_fetch_assoc($viewComment)); ?>

Và đoạn CSS sau :


#qcomment {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
color: #000000;
border-bottom-width: 1px;
border-bottom-style: solid;
border-bottom-color: #CCCCCC;
width: 180px;
}
#qcomment span {
width: 180px;
}


Chả hiểu sao đã định width như khi lấy dữ liệu từ CSDL ra thì cứ bị tràn như thế này hoài
http://i110.photobucket.com/albums/n96/winx2112/div.jpg
Các pác có cách nào ko :|

Scripted
14-10-2008, 10:05
Tại chắc trong CSS tìm chỗ overflow ... vã lại chữ aaaa là từ php ra đó !

vietanhit1k5
14-10-2008, 10:09
Bạn thử dùng 2 thuộc tính float và clear xem sao.
- float dùng để cố định một thành phần web, nó có 3 giá trị là: left/right/none.
- clear thường được gán vào phần tử liên quan tới phần tử được float để quyết định sẽ cho tràn như thế nào. Clear có 4 giá trị: tràn bên trái (left), tràn bên phải (right), không tràn (both) và none.

BabyOneMoreTime
14-10-2008, 11:15
Tại chắc trong CSS tìm chỗ overflow ... vã lại chữ aaaa là từ php ra đó !

Thì em dùng php để get dữ liệu từ database ra mà pác .Nếu xài overflow thì 1 là nó ẩn chổ dư ra ,2 là nó xuất hiện sroll ,như vậy thì xấu :| .Giờ em muốn nó tự động xuống hàng được ko pác ? Em tính là cố định độ dài của textbox lúc người dùng nhập vào ,đủ độ dài thì tự động thêm thẻ <br> vào ,nhưng chỉ mới là suy nghĩ chứ chưa hình dung cụ thể làm ra sao :p


Bạn thử dùng 2 thuộc tính float và clear xem sao.
- float dùng để cố định một thành phần web, nó có 3 giá trị là: left/right/none.
- clear thường được gán vào phần tử liên quan tới phần tử được float để quyết định sẽ cho tràn như thế nào. Clear có 4 giá trị: tràn bên trái (left), tràn bên phải (right), không tràn (both) và none.
Cách này ko được pác ơi :(

Scripted
14-10-2008, 23:31
Chắc fải sài 1 cái div tag đó vì nó không có space nên nó không xuống hàng ... fải làm cái <div> riêng cho phần name rồi CSS class riêng xem sao!

U.F.O
15-10-2008, 19:56
Bó tay nó là 1 chữ liền nhau thì sao mà xuống dòng được hả trời >"<

BabyOneMoreTime
15-10-2008, 21:31
hị hị ,em chỉ đề phòng trường hợp có thằng điên nào nó spam ấy mà ^.^

Scripted
16-10-2008, 01:00
Khi viết fải limit characters lại ví dụ username thì không wá 50 ký tự ... như vậy sẽ tốt hơn !!!!

Luôn luôn sài CHAR khi mình biết limit ... ví dụ TOPIC (không nên cho quá 255 CHARS).

Username không nên quá 50 ký tự :)

Nếu design tốt trong data\base programming se~ to^'t hơn!

chuottinh
26-10-2008, 17:17
Cậu thêm thuộc tính word-wrap:break-word; vào thì nó sẽ tự động ngắt dòng xuống. nhưng cái này chỉ có tác dụng với IE thôi. còn với FireFox thì vô dụng :)

hanachacha
28-10-2008, 08:51
nhét cái comment đó vào 1 cái div rồi định width cố định cho cái div đó là ok.

BabyOneMoreTime
28-10-2008, 11:16
ý trời ,cái này em fix lâu rồi các pác còn cho nó đội mồ sống lại nữa :D
to hanachacha : thì cái code lúc đầu em viết nó là thế đấy ,mà có được đâu ,cơ bản là vì 1 chuổi ký tự dính liền vd : aaaaaaaaa thì nó hiểu là 1 ký tự nên nó ko ngắt ,chứ có space phát là nó tự xuống hàng liền :D

2_lua_IT
28-10-2008, 16:52
hay nhở, test thì cũng đặt cho ra trò 1 chút, đặt 1 từ dài dằng dằng vậy thì web nào mà hiểu và ngắt dòng cho được. Câu hỏi gà mà chãnh chẹ.

manhkhanh
28-10-2008, 16:58
Cái này dùng code sever mà sử lý :

Tham khảo tại :
http://vn.php.net/manual/en/function.wordwrap.php



<?php
$text = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa a";
$newtext = wordwrap($text, 20, "<br />\n");

echo $newtext;
?>



Chú ý : về học lại css đi nhé, xem div có làm đựoc gì !

BabyOneMoreTime
29-10-2008, 00:24
hay nhở, test thì cũng đặt cho ra trò 1 chút, đặt 1 từ dài dằng dằng vậy thì web nào mà hiểu và ngắt dòng cho được. Câu hỏi gà mà chãnh chẹ.


--> hị hị ,em chỉ đề phòng trường hợp có thằng điên nào nó spam ấy mà ^.^
p/s: ko cãi nhau nữa vì chả có j để cãi ,em đã nói là fix xong lâu roài ,các pác ko cần phải quật mồ nó lên nữa :p

2_lua_IT
30-10-2008, 10:16
Cái này dùng code sever mà sử lý :

Tham khảo tại :
http://vn.php.net/manual/en/function.wordwrap.php



<?php
$text = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa a";
$newtext = wordwrap($text, 20, "<br />\n");

echo $newtext;
?>



Chú ý : về học lại css đi nhé, xem div có làm đựoc gì !

Kô biết wordwrap trong PHP hoạt động tốt trên các trình duyệt kô nhỉ(link đó chả thấy đề cập tới Browser j hết) ? Wordwrap CSS chỉ good trên IE thôi, còn lại là die hết. Pác test và confirm dùm cái ?

darkera13
02-11-2008, 17:11
Kô biết wordwrap trong PHP hoạt động tốt trên các trình duyệt kô nhỉ(link đó chả thấy đề cập tới Browser j hết) ? Wordwrap CSS chỉ good trên IE thôi, còn lại là die hết. Pác test và confirm dùm cái ?

PHP thì liên quan gì đến trình duyệt hả trời :| PHP nó check xem từ đó có vượt quá giới hạn độ dài cho phép không để thêm <br /> sau đó xuất ra.

2_lua_IT
03-11-2008, 16:33
IC. Nhưng câu PHP kô có liên quan tới Browser thì hơi bị kỳ. Kô có browsers thì làm sao mà PHP chạy được. Nói tóm lại là tui đã hiểu cơ chế này rồi. Dầu sao cũng thanks pác.