เนื่องจากคำถามนี้มีผู้เข้าชมจำนวนมากและนี่เป็นคำตอบที่ได้รับการยอมรับฉันจึงจำเป็นต้องเพิ่มข้อจำกัดความรับผิดชอบต่อไปนี้:
คำตอบนี้เฉพาะสำหรับคำถามของ OP (ซึ่งมีการกำหนดความกว้างในตัวอย่าง) ในขณะที่ใช้งานได้คุณต้องมีความกว้างสำหรับแต่ละองค์ประกอบรูปภาพและย่อหน้า เว้นแต่เป็นความต้องการของคุณฉันขอแนะนำให้ใช้โซลูชันของ Joe Conlinซึ่งโพสต์ไว้เป็นคำตอบอื่นสำหรับคำถามนี้
span
องค์ประกอบเป็นองค์ประกอบแบบอินไลน์คุณจะไม่สามารถเปลี่ยนความกว้างใน CSS
คุณสามารถเพิ่ม CSS ต่อไปนี้ลงในช่วงของคุณเพื่อที่คุณจะสามารถเปลี่ยนความกว้างได้
display: block;
อีกวิธีหนึ่งซึ่งมักจะทำให้รู้สึกมากขึ้นคือการใช้องค์ประกอบเป็นผู้ปกครองสำหรับคุณ<p>
<span>
<li id="CN2787">
<img class="fav_star" src="images/fav.png">
<p>
<span>Text, text and more text</span>
</p>
</li>
เนื่องจาก<p>
เป็นblock
องค์ประกอบคุณสามารถตั้งค่าความกว้างโดยใช้ CSS โดยไม่ต้องเปลี่ยนแปลงอะไร
แต่ในทั้งสองกรณีเนื่องจากคุณมีองค์ประกอบบล็อกในขณะนี้คุณจะต้องลอยรูปภาพเพื่อไม่ให้ข้อความทั้งหมดอยู่ใต้รูปภาพของคุณ
li p{width: 100px; margin-left: 20px}
.fav_star {width: 20px;float:left}
PS แทนที่จะfloat:left
ในภาพคุณยังสามารถใส่float:right
ในli p
แต่ในกรณีที่คุณยังจะต้องมีtext-align:left
การปรับเปลี่ยนข้อความได้อย่างถูกต้อง
PSS หากคุณดำเนินการแก้ปัญหาแรกในการไม่เพิ่ม<p>
องค์ประกอบ CSS ของคุณควรมีลักษณะดังนี้:
li span{width: 100px; margin-left: 20px;display:block}
.fav_star {width: 20px;float:left}