A-AA+then

ปัญหาการใช้ css ทำให้แสดงเมนูไม่ได้ใน firefox แต่กับ IE ไม่มีปัญ

2,043
ผมให้ <div id="divMenuBar" class="hzmenu"></div> โค๊ดนี้เพื่อแสดงเมนูในหน้าหลักครับ
ส่วนข้างนี้เป็นโค๊ด ไฟล์ที่เก็บเมนู

<?
        $msg  = "<ul id='horizontalnav'>";
        $msg .=        "<li><a href='#' onclick='showFormRegis();'>ÊÁѤÃÊÁÒªÔ¡</a></li>";
        $msg .=     "<li><a href='#' onclick='showBlogList(\"Art_Title\");'>ºÅçÍ¡</a></li>";
        $msg .= "</ul>";
        break;
}
echo $msg; ?>
และข้างล่างนี้เป็นส่วนหนึ่งของ css ที่ใช้กับเมนู

.hzmenu ul{
     padding: 0; margin: 0; background-color: #666666; list-style: none;
    height: 20px; font-weight:bold; font-size:13px;
}
.hzmenu ul li {
     display: inline; float: left; position: relative; width: 8em;
}
เวลาแสดงผลกับ ie มันสามารถแสดงได้ตามต้องการครับ แต่กับ Browser ตัวอื่นๆ  มันกลับไม่แสดงออกมาเลย
ไม่ทราบว่าเป็นเพราะอะไรครับ

3 ความคิดเห็น

ต้องเข้าใจก่อนนะครับ ว่า การใช้ CSS นั้นต้องทำใจเรื่อง Browser
เพราะแต่ละ Browser นั้นมันก็จะแสดงผล คำสั่ง CSS บางตัวไม่เหมือน กันดังนั้น
ขอ แนะนำนะครับ ให้ทำการสร้าง CSS สำหรับลองรับการทำงานแต่ละ Browser
อาจจะดู วุนวาย แต่จำเป็นนะครับ
สู้ๆ นะครับ
1

ที่จริงมันต้องใส่ <ul class="horizontalnav"></u> แบบนี้นะคับ

ul.horizontalnav {
    list-style: none;
    height: 20px; font-weight:bold; font-size:13px;
}
ul.horizontalnav li {
     display: inline; float: left; position: relative; width: 8em;
}
2

ลองหาดูบนเว็บครับ น่าจะมี

บางครั้ง การแสดงผล CSS ที่ไม่ได้ดังใจ อาจเกิดจาก CSS ของ element ที่อยู่ก่อนหน้าก็ได้ครับ ในที่นี้คงหมายถึง .hzmenu ครับ

เราอาจต้องปรับ CSS ตั้งแต่ .hzmenu เลยครับ

ส่วนจะปรับเป็นอะไร คงต้องทดลองกันหน่อยครับ ตอบแบบฟันธงยากครับ นอกจากจะลองทำตามตัวอย่างครับ
3
^