PDA

View Full Version : Giúp em cái CSS này với



chebongnga
25-07-2008, 22:01
Có 3 thẻ div: left, content, right ngang nhau.
nội dung trong mỗi thẻ không bằng nhau, nên khi view height của 3 thẻ div không bằng nhau.
có cách nào 3 thẻ có height luôn bằng nhau ko, không phụ thuộc vào nội dung trong thẻ.
không dùng javascript chỉ dùng css.
Cảm ơn trước nhé!!!

sacroyant
25-07-2008, 22:15
Bạn dùng overflow xem sao :)

tuannmdo
25-07-2008, 23:23
mình chưa nghĩ ra nhưng chắc phải dùng table thôi...

Quartermain
25-07-2008, 23:26
nói như điều kiện của bạn thì có thể fix chiều cao của 3 thẻ đấy

chebongnga
27-07-2008, 20:48
Nghĩa là sao vậy Quartermain? Mình chưa hiểu ý bạn...
chi tiết chút đi

[=========> Bổ sung bài viết <=========]

overflow sử dụng sao vậy bạn? Mình thử rồi ko được

[=========> Bổ sung bài viết <=========]

ý của em là dữ liệu trong 3 div này có thể thay đổi. Làm sao khi div có độ cao lớn nhất thì độ cao của hai div còn lại cũng phải dài theo. Cho nên ý tưởng cố định độ cao là ko dc.

Michico
28-07-2008, 10:02
bạn xem cách này có được không
xét height cho cả 3 div, rồi cho thêm thuộc tính overflow. nếu nội dung của div nào lớn hơn chiều cao quy dinh thì sẽ xuất hiện scrollbar.
height:500px; overflow:auto;

chebongnga
28-07-2008, 12:08
rất cảm ơn ý kiến của Michico nhưng có cách nào ko xuất hiện scrollbar ko, height ko cho cố định, mình nghĩ là css có thẻ làm dc, mọi người cố gắn giúp giùm nhé

hoanta
28-07-2008, 15:20
thêm dòng này trong file css nhé:

.clr {
clear: both;
}
xem thử trang www.thietbiloc.com

zero_g31
03-08-2008, 23:44
Theo mình bạn đặt cả ba thẻ trong một thẻ DIV lớn rồi cho height:inherit; thử xem sao!

darkera13
04-08-2008, 14:39
không được đâu, table đi

neo063
04-08-2008, 16:45
hehe.. mình cũng dang bị vấn đề như bác.. ko biết cóa bác nào cao thủ ko???

BossFTP
04-08-2008, 20:44
Theo mình biết 1 div dc tính là một hàng -> 3 cái ngang nhau ko dc.

Tuy vậy, bạn thử cách này xem: Xài 3 cái div có z-index là 1, 2, 3, set postion cho từng cái theo kiểu left2=left1+width1,..., top=0. Tham khảo thêm trên w3schools. (Google)

Michico
06-08-2008, 09:21
Theo mình biết 1 div dc tính là một hàng -> 3 cái ngang nhau ko dc.
)
nhận xét này sai bét, muốn bao nhiêu div ngang hàng nhau đều được hết.



Tuy vậy, bạn thử cách này xem: Xài 3 cái div có z-index là 1, 2, 3, set postion cho từng cái theo kiểu left2=left1+width1,..., top=0. Tham khảo thêm trên w3schools. (Google)
nhắc lại: chỉ được dùng CSS, không được phép dùng javascript

dangviethai
06-08-2008, 09:44
javascript thì em làm dc chứ css thì chịu chưa nghĩ ra :|

hoanta
11-08-2008, 20:26
Sao không ai làm theo cách tớ chỉ. Thêm có 1 dòng vô là OK ngay.

Xem ví dụ trong site chỗ chữ ký nhé.

phongjalvn
14-08-2008, 13:25
Cái này buộc phải dùng faux column thôi ( search đi nhé)
Còn nếu xài faux column mà bạn không thấy thoải mái thì thử cách này đi
http://www.positioniseverything.net/threecolbglong.html
http://www.alistapart.com/articles/multicolumnlayouts
Chúc may mắn

ptqlove
23-08-2008, 13:54
Có nhìu giải pháp cho vấn đề này lắm thông dụng nhất là Faux column. Trang web http://www.positioniseverything.net/articles/pie-maker/pagemaker_form.php giúp bạn tạo layout dạng này rất nhanh. Tham khảo thử nhé ^^

PhạmCôngTử
01-09-2008, 10:20
Cách mình sử dụng trong trường hợp này là dùng Javascript.

Khi trang load lên Khoa dùng Javascript:
- Lấy ra 3 chiều cao cuả 3 Div.
- So sánh và lấy ra đc cái cao nhất(max height).
- Và cuối dùng là gán max height cho 3 Div này.

Lưu ý là vị trí đoạn jv script này trong trang HTML của bồ tùy theo các browser mà đăt.(cái này đụng chuyện là biết à )