ฉันจะจัดข้อความให้ชิดซ้ายและข้อความไปทางขวาเป็นบรรทัดเดียวกันได้อย่างไร


105

ฉันจะจัดแนวข้อความเพื่อให้บางส่วนจัดแนวไปทางซ้ายและบางส่วนจัดแนวไปทางขวาในบรรทัดเดียวกันได้อย่างไร

<p>This text should be left-aligned. This text should be right aligned.</p> 

ฉันสามารถจัดแนวข้อความทั้งหมดไปทางซ้าย (หรือทางขวา) ไม่ว่าจะเป็นแบบอินไลน์โดยตรงหรือโดยใช้สไตล์ชีต -

<p style='text-align: left'>This text should be left-aligned. 
    This text should be right aligned.</p>

ฉันจะจัดแนวข้อความที่สอดคล้องกันไปทางซ้ายและทางขวาโดยให้อยู่ในบรรทัดเดียวกันได้อย่างไร

คำตอบ:


181

<p style="text-align:left;">
    This text is left aligned
    <span style="float:right;">
        This text is right aligned
    </span>
</p>

https://jsfiddle.net/gionaf/5z3ec48r/


1
text-align:left;ควรเป็นfloat:left;เช่น <p> <span style = "float: left;"> ข้อความด้านซ้าย </span> <span style = "float: right;"> ข้อความขวา </span> </p>
Shailendra Madda

38

HTML:

<span class="right">Right aligned</span><span class="left">Left aligned</span>​

css:

.right{
    float:right;
}

.left{
    float:left;
}

การสาธิต:
http://jsfiddle.net/W3Pxv/1


@mawg แม้ว่าจะเป็น แต่ฉันชอบคำตอบอันดับต้น ๆ เพราะไม่ต้องใช้ css
Menasheh

4
"อยู่ด้านบน" หรือ "โหวตมากที่สุด"? ทั้งสองอย่างสามารถเปลี่ยนแปลงได้ดังนั้นคุณจึงไม่ได้ช่วยผู้ดูแลในอนาคต :-) อย่างไรก็ตามในขณะที่ฉันเริ่มชอบคุณด้วยสไตล์ทั้งหมดในบรรทัดในไม่ช้าฉันก็รู้ว่ามีเหตุผลที่ดีในการแยกเนื้อหาและการนำเสนอออกจากกัน CSS ไม่น่ากลัวและมีบทเรียนฟรีมากมาย - ไปได้เลย
Mawg กล่าวว่าคืนสถานะ Monica

19

หากคุณไม่ต้องการใช้องค์ประกอบแบบลอยและต้องการให้แน่ใจว่าทั้งสองบล็อกไม่ทับซ้อนกันให้ลอง:

<p style="text-align: left; width:49%; display: inline-block;">LEFT</p>
<p style="text-align: right; width:50%;  display: inline-block;">RIGHT</p>

นี่เป็นคำตอบเดียวที่ให้คุณใช้มากกว่าสองคอลัมน์ซึ่งเป็นสิ่งที่ฉันต้องการ อาจเป็นการควบคุมที่ละเอียดกว่าที่ OP ดูแลอยู่
Kristen Hammack

9

ไฟล์ HTML:

<div class='left'> Left Aligned </div> 
<div class='right'> Right Aligned </div>

ไฟล์ CSS:

.left
{
  float: left;
}

.right
{
  float: right;
}

แล้วเสร็จ ....


นี่เก่าแล้ว แต่คุณต้องล้อม 2 DIV ด้วยแท็กอื่นเช่น DIV มิฉะนั้นจะไม่ทำงาน
Panama Jack


7

แม้ว่าวิธีแก้ปัญหาหลายอย่างที่นี่จะใช้งานได้ แต่ไม่มีตัวจับที่ซ้อนทับกันได้ดีและท้ายที่สุดก็ย้ายรายการหนึ่งไปไว้ด้านล่างอีกรายการ หากคุณกำลังพยายามจัดวางข้อมูลที่จะเชื่อมโยงแบบไดนามิกคุณจะไม่รู้จนกว่ารันไทม์จะดูไม่ดี

สิ่งที่ฉันชอบทำคือสร้างตารางแถวเดียวแล้วใช้ลอยที่ถูกต้องกับเซลล์ที่สอง ไม่จำเป็นต้องใช้การจัดชิดซ้ายในครั้งแรกซึ่งจะเกิดขึ้นตามค่าเริ่มต้น จัดการสิ่งนี้ทับซ้อนกันอย่างสมบูรณ์แบบด้วยการตัดคำ

HTML

<table style="width: 100%;">
  <tr><td>Left aligned stuff</td>
      <td class="alignRight">Right aligned stuff</td></tr>
</table>

CSS

.alignRight {
  float: right;
}

https://jsfiddle.net/esoyke/7wddxks5/


นี่ใกล้เคียงกับสีทองสำหรับฉัน แต่มีความคิดว่าทำไมการใช้คุณสมบัติตาราง CSS ทำให้เซลล์ทั้งสองไม่อยู่ในแนวนอน jsfiddle.net/7wddxks5/7ฉันดูเหมือนจะไม่สามารถหลีกเลี่ยงได้
addMitt

1
ที่จริงแล้วสำหรับฉันเนื่องจากฉันต้องการให้ข้อความที่ถูกต้องจัดแนวไปทางขวาสิ่งนี้ดูเหมือนจะทำงานได้อย่างสมบูรณ์แบบถ้าฉันเพียงแค่กำหนด text-align: right และกำจัด float
addMitt

ฉันคิดไม่ออกว่าเหตุใดจึงทำให้เกิดการเลื่อนในแนวตั้ง แต่ฉันสามารถแก้ไขได้ด้วยการจัดแนวตั้ง นอกจากนี้ยังดึงสไตล์เข้าสู่ชั้นเรียนเพื่อล้าง HTML เล็กน้อย jsfiddle.net/o10ogqkd
Eric Soyke

นี่คือทางออกที่สวยงามที่นี่ ฉันคิดว่ามันควรจะเป็นคำตอบที่ได้รับการยอมรับเนื่องจากใช้ความคิดสร้างสรรค์มากขึ้นในการใช้แท็กตาราง
Rotimi

3

เพิ่มช่วงในแต่ละคำหรือกลุ่มคำที่คุณต้องการจัดชิดซ้ายหรือขวา จากนั้นเพิ่ม id หรือ class ในช่วงเวลาเช่น:

<h3>
<span id = "makeLeft"> Left Text</span>
<span id = "makeRight"> Right Text</span>
</h3>

CSS-

#makeLeft{
float: left;
}

#makeRight{
float: right;
}

3
ตามข้อกำหนด html ตัวอย่างของคุณควรใช้คลาสไม่ใช่ ID
Sergio

0

หากคุณใช้ Bootstrap ให้ลองทำดังนี้:

<div class="row">
    <div class="col" style="text-align:left">left align</div>
    <div class="col" style="text-align:right">right align</div>
</div>

-1

หากคุณต้องการเปลี่ยนการจัดแนวข้อความเพียงแค่สร้างคลาส

.left {
text-align: left;
}

และขยายชั้นเรียนนั้นผ่านข้อความ

<span class='left'>aligned left</span>

3
นี่คือคำตอบครึ่งหนึ่งสำหรับคำถามของการจัดแนวหลายเส้นต่อบรรทัด
TimZaman
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.