ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programming<div> ทำยังให้ความสูง มันสูงตาม <div>ที่ครอบไว้อ่าครับ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: <div> ทำยังให้ความสูง มันสูงตาม <div>ที่ครอบไว้อ่าครับ  (อ่าน 2762 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
xmen256k
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 98
ออฟไลน์ ออฟไลน์

กระทู้: 1,999



ดูรายละเอียด
« เมื่อ: 03 พฤศจิกายน 2009, 04:59:27 »

โค๊ด:
<div class="main">
<div class="sub"></div>
</div>

โดยผมลองทำแบบนี้แต่มันไม่ได้อ่าครับ
โค๊ด:
.main {
height: 500px;
width: 960px;
}
.sub {
float: left;
height: 100%;
width: 50px;
}


มันก็ไม่ยืดตามตัวที่ครอบไว้อ่าครับ

มึนหัวหมดแหละ - -
บันทึกการเข้า
bankkungz
สมุนแก๊งเสียว
*

พลังน้ำใจ: 3
ออฟไลน์ ออฟไลน์

กระทู้: 950



ดูรายละเอียด
« ตอบ #1 เมื่อ: 03 พฤศจิกายน 2009, 07:49:23 »

ตรง .sub

ถ้า float ปุ๊บ

มันจะทำให้ contrainer ที่ครอบมันไว้ ไม่มีความสูงครับ

ต้องกำหนดความสูงให้ contrainer ที่ครอบด้วย


หรือไม่ก็ต้อง hack css เอาครับ  (กรณีที่จะทำเป็น กล่อง แล้วมีข้อความอยู่ข้างใน แล้วให้สูงตามข้อความ)

หา code ในเน็ตดูนะครับ
บันทึกการเข้า

golfer007
บุคคลทั่วไป
« ตอบ #2 เมื่อ: 03 พฤศจิกายน 2009, 10:55:44 »

โค๊ด:
<div class="main">
<div class="sub"></div>
</div>

โดยผมลองทำแบบนี้แต่มันไม่ได้อ่าครับ
โค๊ด:
.main {
height: 500px;
width: 960px;
}
.sub {
float: left;
height: 100%;
width: 50px;
}


มันก็ไม่ยืดตามตัวที่ครอบไว้อ่าครับ

มึนหัวหมดแหละ - -

ตรง .sub ใช้

min-height :500px;
max-height:500px;

ได้หรือไม่
บันทึกการเข้า
aifarfa
Newbie
*

พลังน้ำใจ: 3
ออฟไลน์ ออฟไลน์

กระทู้: 31



ดูรายละเอียด
« ตอบ #3 เมื่อ: 03 พฤศจิกายน 2009, 13:31:27 »

.main {
 height: 500px;
 width: 960px;
 overflow: auto;
}
บันทึกการเข้า
xmen256k
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 98
ออฟไลน์ ออฟไลน์

กระทู้: 1,999



ดูรายละเอียด
« ตอบ #4 เมื่อ: 03 พฤศจิกายน 2009, 13:55:20 »

โค๊ด:
<div class="main">
<div class="sub"></div>
</div>

โดยผมลองทำแบบนี้แต่มันไม่ได้อ่าครับ
โค๊ด:
.main {
height: 500px;
width: 960px;
}
.sub {
float: left;
height: 100%;
width: 50px;
}


มันก็ไม่ยืดตามตัวที่ครอบไว้อ่าครับ

มึนหัวหมดแหละ - -

ตรง .sub ใช้

min-height :500px;
max-height:500px;

ได้หรือไม่
ไม่ได้อ่าครับ เพราะผมอยากให้มันยืดตามที่ตัวครอบอ่าครับ แต่มันยาวไม่เท่ากัน แหะๆ
บันทึกการเข้า
เป็นติ่งไรเนี่ย
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 66
ออฟไลน์ ออฟไลน์

กระทู้: 1,208



ดูรายละเอียด
« ตอบ #5 เมื่อ: 03 พฤศจิกายน 2009, 14:05:38 »

กําหนด heigh ไว้เเล้ว แล้วมันจะยืดได้งัยหว่า..
ยังสงสัย งี้..ต้องตามท่าน g-ji
มาเเล้วหละคับ...

 wanwan022
บันทึกการเข้า
xmen256k
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 98
ออฟไลน์ ออฟไลน์

กระทู้: 1,999



ดูรายละเอียด
« ตอบ #6 เมื่อ: 03 พฤศจิกายน 2009, 15:30:17 »

กําหนด heigh ไว้เเล้ว แล้วมันจะยืดได้งัยหว่า..
ยังสงสัย งี้..ต้องตามท่าน g-ji
มาเเล้วหละคับ...

 wanwan022

ก็ประมาณว่าอันใหญ่สูงเท่าไหร่ อันข้างในก็ให้มันยืดตามอันใหญ่อัตโนมัติ อ่าครับ ^^
บันทึกการเข้า
g-ji
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 231
ออฟไลน์ ออฟไลน์

กระทู้: 3,254



ดูรายละเอียด เว็บไซต์
« ตอบ #7 เมื่อ: 03 พฤศจิกายน 2009, 15:51:50 »

แล้วไหงไม่ทำให้

ข้างในสูงเท่าไร ข้างนอกก็ยืดตามเท่านั้นล่ะ  Tongue

เว้ากันซื่อเลยนะ div ว่างเปล่า มันกำหนดความสูง 100% ไม่ได้

โค๊ด:
<div class="main">
<div class="sub"></div>
<br class="clear" />
</div>

โค๊ด:

.main {
height: auto;
width: 960px;
display:block;
margin:0 auto;

}
.sub {
float: left;
height: 500px;
width: 50px;
display:block;
margin:0 auto 0 1%
}
.clear{
clear:both;
}
br[class="clear"]{
line-height:0;
height:0;
}

ลองดูจิได้มั้ย  Tongue

ปล. เว็บจี้ก็ใช้แบบนี้แหละ แต่ไม่เคยกำหนดความสูง div สักที

บันทึกการเข้า

xmen256k
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 98
ออฟไลน์ ออฟไลน์

กระทู้: 1,999



ดูรายละเอียด
« ตอบ #8 เมื่อ: 03 พฤศจิกายน 2009, 16:36:18 »

คือลักษณะงานที่จะใช้แบบว่ามี <div> อันใหญ่อันนึงคลุมอยู่อ่าครับจากนั้นขางในใน<div>อีก3อันอยู่ ซ้าย กลาง ขวา

แล้วคราวนี้ทั้งสามอันมันยาวไม่เท่ากันอ่าครับ เวลาลงสีมันเลยดูแหว่งๆ ผมก็เลยอยากให้มันเท่ากัน

เพื่อที่จะลงสีอย่างสวยงามอ่าครับ
บันทึกการเข้า
headmaster
Verified Seller
สมุนแก๊งเสียว
*

พลังน้ำใจ: 224
ออฟไลน์ ออฟไลน์

กระทู้: 814



ดูรายละเอียด เว็บไซต์
« ตอบ #9 เมื่อ: 03 พฤศจิกายน 2009, 16:42:25 »

ต้องกำหนดเป็น % ครับ มันถึงจะกว้าง ๆ แคบ ๆ ให้
จาก code เห็นเป็น px ยังไง ๆ มันก็จะคงที่ครับผม  Embarrassed
บันทึกการเข้า

g-ji
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 231
ออฟไลน์ ออฟไลน์

กระทู้: 3,254



ดูรายละเอียด เว็บไซต์
« ตอบ #10 เมื่อ: 03 พฤศจิกายน 2009, 16:45:24 »

↑ ถ้าจะทำแบบนั้นจริงๆ แนะนำ

โค๊ด:
http://www.divland.com/blog/2009/07/01/equal-height-column/#more-432

และ

โค๊ด:
http://www.divland.com/blog/2007/09/10/css-layout-equal-height/#more-187

อาจจะไม่ตรงเป้าเป๊ะๆ แต่คาดว่าน่าจะใช้ต่อยอดได้นะ

 Tongue

ปล. จี้ไม่เคย Hack CSS เพราะว่ามันวุ่นวาย ปวดหัว แถมเสียสุขภาพจิตอย่างแรง  wanwan031 เบราเซอร์มันมีกี่ตัวกี่รุ่นหว่า แฮคให้แสดงผลเหมือนกันหมด แค่จำ condition tag สำหรับแต่ละเบราเซอร์ก็จะตายแล้ว
บันทึกการเข้า

siamwebthai
สมุนแก๊งเสียว
*

พลังน้ำใจ: 68
ออฟไลน์ ออฟไลน์

กระทู้: 557



ดูรายละเอียด เว็บไซต์
« ตอบ #11 เมื่อ: 03 พฤศจิกายน 2009, 17:05:20 »

style=" height:0 auto;"  << ลองดูครับ
บันทึกการเข้า

xmen256k
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 98
ออฟไลน์ ออฟไลน์

กระทู้: 1,999



ดูรายละเอียด
« ตอบ #12 เมื่อ: 03 พฤศจิกายน 2009, 22:48:48 »

style=" height:0 auto;"  << ลองดูครับ

โค๊ด:
.sub {
height:0 auto;
width: 50px;
background-color:#FFCC00
}


แบบนี้เหรอครับ แต่ผมทำแล้วไม่ได้อ่าครับ
บันทึกการเข้า
sittipat
ก๊วนเสียว
*

พลังน้ำใจ: 9
ออฟไลน์ ออฟไลน์

กระทู้: 218



ดูรายละเอียด
« ตอบ #13 เมื่อ: 03 พฤศจิกายน 2009, 23:54:23 »

คุณใช้IE6 เปล่า ถ้าใช้ IE6 ต้องกำหนดความสูงมันด้วย

height:auto; มันใช้ได้กับที่บราวเซอร์ยกเว้น IE6
บันทึกการเข้า

ru
ก๊วนเสียว
*

พลังน้ำใจ: 24
ออฟไลน์ ออฟไลน์

กระทู้: 440



ดูรายละเอียด
« ตอบ #14 เมื่อ: 03 พฤศจิกายน 2009, 23:58:19 »

คาถา CSS ท่องก่อนนอน 3 จบทุกวัน

1. โฟลทแล้วอย่าแพด
Float ซ้าย ขวา อย่าใส่ padding นะ IE6 จะคำนวณไม่เหมือนชาวบ้านเค้า ทำให้ระยะพังได้

2. โฟลทแล้วต้องวิด
มี float ต้องมี width ด้วย ไม่งั้น IE6 มึน ส่วน Browser อื่นๆ ก็จะงงได้ เพราะมันต้องคิดว่าจะกว้างเท่าไหร่ดี

3. วิดแล้วอย่าแพด/แพดแล้วอย่าวิด
IE6 เมิงนี่มันเรื่องมากจริงๆ เพราะคิดระยะไม่เหมือนเค้า เช่น padding ซ้าย 10px ขวา 10px กว้าง 100px ใครๆ เค้าก็รู้กันว่า แปลว่าขอบเขตจริงๆ คือ 120px แต่พื้นที่แสดงด้านในแค่ 100px ไอ้ IE6 มันดันคิดว่า ขอบเขตจริงๆ คือ 100px และพื้นที่แสดงด้านใน 80px!!!

วิธีแก้มี 2 แบบ คือ

    * ใส่ _width สำหรับพี่ IE6 เค้าโดยเฉพาะ บวกเลขใหม่ดีๆ ละกัน (คนอื่นเค้าไม่อ่านค่า แต่ IE ดันนึกว่า _width = width) ใส่บรรทัดต่อมานะ เพราะสำหรับ CSS ค่าที่ระบุใหม่ ทับค่าที่ระบุเก่า
    * ใส่ div 2 ชั้น ชั้นนอก “วิดแล้วอย่าแพด” ชั้นใน “แพดแล้วอย่าวิด”

4. โฟลทแล้วต้องอินลาย
สั่ง float แล้ว IE6 จะทำพฤติกรรมประหลาด ให้ display: inline ไว้ด้วย ผิดหลัก แต่แสดงแล้วถูกทุก Browser

5. รีเซ็ท กับ เคลียร์ฟิกและเคลียร์พร้อมใช้
ทำไว้ส่วนเริ่มซะ รีเซ็ทเพื่อความเสมอภาคก่อน ส่วน clearfix และ clear ใส่ไว้ด้วย จะได้เอาไปใช้ในที่ต่างๆ ได้ ดังนั้น เอานี่ไปเป็นตัวเริ่มละกัน style.css (ก๊อบปี้ไปมาผสมจากหลายส่วนของอินเตอร์เน็ท)

6. Text Area กว้างสุด 97% พอ!
ไม่ค่อยเข้าใจนัก แต่คร่าวๆ คือ IE6 มันจะคิด Text Area ที่กว้างเกิน 97% เป็นกว้างเกินไป เกิน 100% อีก ทำให้ทุกอย่างถูกดันและเพี้ยนได้
ดังนั้น Text Area ใน ฟอร์มจึงควรเป็น

#test-form textarea {width: 97%; padding: 2px;}


เครดิต อ.เม่น
บันทึกการเข้า
xmen256k
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 98
ออฟไลน์ ออฟไลน์

กระทู้: 1,999



ดูรายละเอียด
« ตอบ #15 เมื่อ: 04 พฤศจิกายน 2009, 02:31:36 »

ขอบคุณมากนะครับสำหรับทุกคำตอบ
แต่ตอนนี้ผมมีวิธีแก้ง่ายๆแล้วครับ
ใช้ table แทน -*-
div ยุ่งยากเกิน
เลยจับ table ยัดเข้าไปแทน

สรุปโอเคเหมือนกันครับ ^^
บันทึกการเข้า
daclubb
บุคคลทั่วไป
« ตอบ #16 เมื่อ: 04 พฤศจิกายน 2009, 11:27:40 »

.main {zoom:1;}
.main:after {display: block; visibility: hidden; clear: both; height: 0; content: "."; }
บันทึกการเข้า
teefouay
Verified Seller
ก๊วนเสียว
*

พลังน้ำใจ: 13
ออฟไลน์ ออฟไลน์

กระทู้: 462



ดูรายละเอียด เว็บไซต์
« ตอบ #17 เมื่อ: 04 พฤศจิกายน 2009, 11:33:59 »

ลองแบบนี้ดูนะ

โค๊ด:
<div align="left" style="display:block;height:24px;margin-left:5px;"> </div>

บันทึกการเข้า

หน้า: [1]   ขึ้นบน
พิมพ์