คลาสจัดข้อความสำหรับภายในตาราง


724

มีชุดคลาสในกรอบ Bootstrap ของ Twitter ที่จัดแนวข้อความหรือไม่

ตัวอย่างเช่นฉันมีบางตารางที่มี$ผลรวมที่ฉันต้องการจัดชิดขวา

<th class="align-right">Total</th>

และ

<td class="align-right">$1,000,000.00</td>

คำตอบ:


1412

Bootstrap 3

เอกสารการจัดตำแหน่งข้อความ v3

<p class="text-left">Left aligned text.</p>
<p class="text-center">Center aligned text.</p>
<p class="text-right">Right aligned text.</p>
<p class="text-justify">Justified text.</p>
<p class="text-nowrap">No wrap text.</p>

ตัวอย่างการจัดข้อความ Bootstrap 3

Bootstrap 4

เอกสารการจัดตำแหน่งข้อความ v4

<p class="text-xs-left">Left aligned text on all viewport sizes.</p>
<p class="text-xs-center">Center aligned text on all viewport sizes.</p>
<p class="text-xs-right">Right aligned text on all viewport sizes.</p>

<p class="text-sm-left">Left aligned text on viewports sized SM (small) or wider.</p>
<p class="text-md-left">Left aligned text on viewports sized MD (medium) or wider.</p>
<p class="text-lg-left">Left aligned text on viewports sized LG (large) or wider.</p>
<p class="text-xl-left">Left aligned text on viewports sized XL (extra-large) or wider.</p>

ตัวอย่างการจัดข้อความ Bootstrap 4


29
สิ่งนี้ไม่ได้ผลสำหรับเซลล์ตารางอย่างน่าเสียดาย มันอาจเป็นปัญหาการสั่งซื้อ CSS ดูปัญหานี้ [ github.com/twitter/bootstrap/issues/6837] ควรแก้ไขในเวอร์ชัน 3.0
เดวิด

26
ฉันต้องทำ <td> <div class = 'text-center'> bootin </div> </td> เพื่อให้ได้สิ่งนี้
Michael J. Calkins

3
ฉันต้องการ bootstrap ใช้เบรกพอยต์กับคลาสเช่นนี้: text-right-md สำหรับจัดแนวข้อความไปทางขวาเฉพาะสำหรับขนาดกลางขึ้นไป
Eric Bishard

2
<p class = "text-left"> ข้อความจัดชิดซ้าย </p> <p class = "text-center"> ข้อความจัดกึ่งกลาง </p> <p class = "text-right"> ข้อความจัดชิดขวา </p> <p class = "text-justify"> ข้อความที่จัด
ชิดขอบ

1
มันแปลกที่ฉันลองใช้ text-md-right (และ xs & lg) แต่พวกมันไม่ทำงาน ฉันอยู่ใน Codepen เพื่อที่จะได้มีส่วนร่วมกับมัน อย่างไรก็ตามคำตอบนี้ใช้ได้สำหรับฉัน ขอบคุณ!
Edson

76

การใช้ Bootstrap 3.x การใช้text-rightงานได้อย่างสมบูรณ์แบบ:

<td class="text-right">
  text aligned
</td>

นอกจากนี้คุณยังสามารถใช้สิ่งนี้กับทั้งแถวได้เช่นกัน: <tr class = "text-right"> <td> การจัดแนวข้อความ </td> </tr>
Glade Mellor

46

ไม่ Bootstrap ไม่มีคลาสสำหรับสิ่งนั้น แต่คลาสแบบนี้ถือว่าเป็นคลาส "ยูทิลิตี้" ซึ่งคล้ายกับคลาส ".pull-right" ที่ @anton พูดถึง

ถ้าคุณดูยูทิลิตี้ต่าง ๆ คุณจะเห็นคลาสยูทิลิตี้น้อยมากใน Bootstrap เหตุผลที่คลาสประเภทนี้ขมวดคิ้วโดยทั่วไปและแนะนำให้ใช้สำหรับ: ก) การสร้างต้นแบบและการพัฒนา - เพื่อให้คุณสามารถสร้างได้อย่างรวดเร็ว ออกหน้าของคุณจากนั้นลบคลาส pull-right และ pull-left เพื่อใช้ลอยในคลาสความหมายหรือองค์ประกอบเองหรือ b) เมื่อเห็นได้ชัดว่าใช้งานได้จริงมากกว่าโซลูชัน semantic เพิ่มเติม

ในกรณีของคุณโดยคำถามของคุณดูเหมือนว่าคุณต้องการให้มีการจัดเรียงข้อความบางอย่างทางด้านขวาในตารางของคุณ แต่ไม่ใช่ทั้งหมด ความหมายมันจะเป็นการดีกว่าถ้าจะทำสิ่งที่ชอบ (ฉันจะสร้างคลาสสองสามตัวที่นี่ยกเว้นคลาส bootstrap เริ่มต้น, .table):

  <table class="table price-table">
    <thead>
      <th class="price-label">Total</th>
    </thead>
    <tbody>
      <tr>
        <td class="price-value">$1,000,000.00</td>
      </tr>
    </tbody>
  </table>

และเพียงแค่ใช้text-align: leftหรือtext-align: rightการประกาศกับคลาสราคา - ราคาและป้ายราคา (หรือคลาสใดก็ได้ที่เหมาะกับคุณ)

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

วิธีคิดอย่างหนึ่งคือเมื่อคุณตั้งคำถามว่า "td นี้คืออะไร" คุณจะไม่ได้คำอธิบายที่ชัดเจนจากคำตอบ "จัดเรียงขวา"


1
และโดยวิธีการฉันแน่ใจว่าคุณสามารถทำได้ดีขึ้นด้วยชื่อชั้นเรียนกว่าสิ่งที่ฉันเลือก แต่นั่นไม่ใช่การเน้น
jonschlinkert

3
พวกเขาไม่ได้ในเวลาและ IMO ยังไม่ควร
jonschlinkert

34

เงินทุน 2.3 มีอาคารเรียนtext-left,text-rightและtext-center, แต่พวกเขาไม่ได้ทำงานในเซลล์ตาราง จนกว่า Bootstrap 3.0 จะวางจำหน่าย (ซึ่งพวกเขาได้แก้ไขปัญหาแล้ว) และฉันสามารถทำการสลับได้ฉันได้เพิ่มสิ่งนี้ลงในไซต์ CSS ของฉันที่โหลดหลังจากนั้นbootstrap.css:

.text-right {
    text-align: right !important;
}

.text-center {
    text-align: center !important;
}

.text-left {
    text-align: left !important;
}

26

เพียงเพิ่มสไตล์ชีท "กำหนดเอง" ซึ่งโหลดหลังจากสไตล์ชีทของ Bootstrap ดังนั้นคำจำกัดความของคลาสจึงมีมากเกินไป

ในสไตล์ชีทนี้ประกาศการจัดตำแหน่งดังนี้:

.table .text-right {text-align: right}
.table .text-left {text-align: left}
.table .text-center {text-align: center}

ตอนนี้คุณสามารถใช้การจัดตำแหน่งแบบทั่วไปสำหรับองค์ประกอบ td และ th


23

ฉันเดาเพราะ CSS มีอยู่แล้วtext-align:rightAFAIK, Bootstrap ไม่มีคลาสพิเศษสำหรับมัน

Bootstrap มี "pull-right" สำหรับ divs ที่ลอยอยู่ ฯลฯ ทางด้านขวา

Bootstrap 2.3 เพิ่งออกมาและเพิ่มรูปแบบการจัดตำแหน่งข้อความ:

Bootstrap 2.3 ถูกนำออกใช้ (2013-02-07)


1
ใช่ฉันไม่ต้องการใช้รูปแบบอินไลน์ในแต่ละองค์ประกอบ ฉันรู้เกี่ยวกับแรงดึง แต่ฉันไม่ต้องการให้องค์ประกอบลอย ฉันเพียงแค่อาจจะเพิ่มระดับถ้าไม่มีใคร :)
Mediabeastnz

15

Bootstrap 4 กำลังจะมา ! คลาสยูทิลิตี้ที่คุ้นเคยใน Bootstrap 3.xขณะนี้ได้เปิดใช้งานจุดพัก จุดพักเริ่มต้น: xs, sm, md, lgและเหล่านี้จึงเรียนจัดตำแหน่งข้อความลักษณะบางอย่างเช่นxl.text-[breakpoint]-[alignnment]

<div class="text-sm-left"></div> //or
<div class="text-md-center"></div> //or
<div class="text-xl-right"></div>

สิ่งสำคัญ:ในขณะที่เขียนสิ่งนี้ Bootstrap 4 มีเฉพาะในอัลฟ่า 2 คลาสเหล่านี้และวิธีที่ใช้อาจมีการเปลี่ยนแปลงโดยไม่ต้องแจ้งให้ทราบล่วงหน้า


สิ่งนี้ทำให้ฉันระวังในขณะที่อ่าน Bootstrap 3 เอกสารในการติดตั้ง Bootstrap 4 ขอบคุณสำหรับการเตือน!
Ben Simpson


11

บรรทัดของรหัสต่อไปนี้ทำงานอย่างถูกต้อง คุณสามารถกำหนดคลาสเช่น text-center, left หรือ right, ข้อความจะจัดเรียงตามลำดับ

<p class="text-center">Day 1</p> 
<p class="text-left">Day 2</p> 
<p class="text-right">Day 3</p>

ที่นี่ไม่จำเป็นต้องสร้างคลาสภายนอกใด ๆ นี่คือคลาส Bootstrap และมีคุณสมบัติเป็นของตนเอง


10

คุณสามารถใช้ CSS นี้ด้านล่าง:

.text-right {text-align: right} /* For right align */
.text-left {text-align: left} /* For left align */
.text-center {text-align: center} /* For center align */

8

.text-alignชั้นมีทั้งหมดที่ถูกต้องและสามารถใช้งานได้มากขึ้นกว่าที่มี.price-labelและ.price-valueที่ไม่มีประโยชน์ใด ๆ เพิ่มเติม

ฉันขอแนะนำให้ไป 100% ด้วยคลาสยูทิลิตี้ที่กำหนดเองที่เรียกว่า

.text-right {
  text-align: right;
}

ฉันชอบทำเวทย์มนตร์ แต่นั่นก็ขึ้นอยู่กับคุณแล้วว่าชอบ:

span.pull-right {
  float: none;
  text-align: right;
}

1
ใช่ทุกคลาสมี "ความถูกต้อง" ทั้งหมด แต่ก็ไม่ได้มีความหมาย คุณควรใช้คลาสยูทิลิตี้อย่างไม่ จำกัด ในรหัสการผลิตซึ่งมีไว้สำหรับ "การเริ่มต้นระบบ"
jonschlinkert

3
เพราะ w3 บอกว่าเป็นวิธีที่เหมาะสมในการใช้ clases ไม่ได้หมายความว่าดีที่สุด jQuery UI และ Bootstrap ไม่มีอยู่หากไม่ได้อยู่ในคลาส 'ที่ไม่ใช่ความหมาย' ผู้คนมักจะใช้ความหมายเชิงความหมายสำหรับคำศัพท์จนกว่าพวกเขาจะรู้ว่าการไปเพื่อคนทั่วไปนั้นดีกว่าในทุกด้าน มันยากที่จะหามันในตอนแรกหรือคิดว่ามันดีจริง ๆ แล้วฉันเดินไปตามถนนสายนั้น ...
Bart Calixto

1
jQuery UI เป็นตัวอย่างที่ไม่ดีเพราะมันเป็นห้องสมุด JavaScript ที่ยังรวมถึง CSS และเงินทุนที่ผมชี้ให้เห็นการใช้อาคารเรียนสาธารณูปโภค คุณเคยคิดบ้างไหมว่าเพราะเหตุใด Bootstrap จึงเรียกว่าBootstrap ? เพื่อให้คุณสามารถใช้คลาสเหล่านี้เพื่อการพัฒนาและเปลี่ยนแปลงในรหัสการผลิตของคุณ และฉันก็ไม่ได้บอกว่าอย่าใช้พวกเขาเลยฉันใช้ pull-left, pull-right ค่อนข้างน้อย และฉันก็ใช้ศูนย์ข้อความเป็นบางครั้งด้วย แต่ฉันใช้พวกเขาเท่าที่จำเป็นและฉันไม่ได้เป็นวิธีแรกของการดำเนินการแนะนำให้คนอื่นใช้พวกเขามากกว่าตัวเลือกความหมายที่ดีกว่า
jonschlinkert

1
jQuery UI เป็นเพียงตัวอย่าง วิธีการที่ฉันพูดถึงคือสิ่งที่ทำให้ห้องสมุดทำงาน เราสามารถเห็นเคนโด้, พิมพ์เขียว, ตาราง, 960, Chico UI และแม้กระทั่ง Bootstrap ก็ทำเช่นนี้ เป็นวิธีเดียวที่ไลบรารีนี้สามารถมีอยู่ / ทำงานได้ คุณสามารถดู บริษัท ใหญ่ ๆ ว่าพวกเขาใช้ css เช่น Apple อย่างไร ( images.apple.com/v/imac/a/styles/imac.css ) และคุณจะต้องประทับใจ นั่นเป็นสาเหตุที่ทำให้เกิดผลผลิตและเป็นเรื่องใหญ่ จะต้องซื่อสัตย์ฉันประหลาดใจฉันพบว่าไม่มีการสอนการอธิบายนี้ ฉันคิดว่าคำว่า bootstrap เป็นเพราะเป็นสิ่งที่คุณต้องเริ่มต้นไม่เปลี่ยนในภายหลัง
Bart Calixto

7

นี่คือคำตอบสั้น ๆ และหวานพร้อมตัวอย่าง

table{
    width: 100%;
}
table td, table th {
    border: 1px solid #000;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<body>
  <table>
    <tr>
      <th class="text-left">Text align left.</th>
      <th class="text-center">Text align center.</th>
      <th class="text-right">Text align right.</th>
    </tr>
    <tr>
      <td class="text-left">Text align left.</td>
      <td class="text-center">Text align center.</td>
      <td class="text-right">Text align right.</td>
    </tr>
  </table>
</body>


แท็ก HTML linkและscriptถูกต้องนอกheadหรือbodyแท็ก? เหตุใดจึงไม่แสดงตัวอย่างเอกสาร HTML ที่สมบูรณ์และถูกต้อง
Peter Mortensen


5

เป็นเจ้าของด้วยการเปิดตัว Bootstrap 3 คุณสามารถใช้คลาสของtext-centerสำหรับการจัดตำแหน่งกึ่งกลางtext-left สำหรับการจัดแนวซ้ายtext-rightสำหรับการจัดตำแหน่งด้านขวาและtext-justifyสำหรับการจัดตำแหน่งชิดขอบ

Bootstrap เป็นเฟรมเวิร์กส่วนหน้าที่ใช้งานง่ายเมื่อคุณใช้มัน รวมถึงการปรับแต่งได้ง่ายเพื่อให้เหมาะกับความชอบของคุณ


3

เรามีห้าคลาสสำหรับสิ่งนั้นซึ่งคุณสามารถอ้างอิงได้จากที่นี่: http://v4-alpha.getbootstrap.com/components/utilities/

<div class="text-left">Left aligned text.</div>
<div class="text-center">Center aligned text.</div>
<div class="text-right">Right aligned text.</div>
<div class="text-justify">Justified text.</div>
<div class="text-nowrap">No wrap text.</div>


3

นี่คือทางออกที่ง่ายที่สุด

คุณสามารถกำหนดคลาสเช่น text-center, left หรือ right ข้อความจะจัดแนวตามคลาสเหล่านี้ คุณไม่ต้องแยกชั้นเรียน คลาสเหล่านี้ inbuilt ใน BootStrap 3

    <h1 class="text-center"> Heading 1 </h1> 
    <h1 class="text-left"> Heading 2 </h1> 
    <h1 class="text-right"> Heading 3 </h1>

ตรวจสอบที่นี่: การ สาธิต


1
<p class="text-sm-left">Left aligned text on viewports sized SM (small) or wider.</p>
ข้อความชิดซ้ายบนวิวพอร์ตขนาด MD (กลาง) หรือกว้างกว่า

ข้อความชิดซ้ายบนวิวพอร์ตขนาด LG (ใหญ่) หรือกว้างกว่า

ข้อความชิดซ้ายบนวิวพอร์ตขนาด XL (ใหญ่เป็นพิเศษ) หรือกว้างกว่า


1

ใน Bootstrap เวอร์ชัน 4 มีบางคลาส inbuilt เพื่อจัดตำแหน่งข้อความ

สำหรับการจัดกึ่งกลางส่วนหัวของตารางและข้อความข้อมูล:

 <table>
    <tr>
      <th class="text-center">Text align center.</th>
    </tr>
    <tr>
      <td class="text-center">Text align center.</td>
    </tr>
  </table>

คุณยังสามารถใช้คลาสนี้เพื่อจัดตำแหน่งข้อความใดก็ได้

<p class="text-left">Left aligned text on all viewport sizes.</p>
<p class="text-center">Center aligned text on all viewport sizes.</p>
<p class="text-right">Right aligned text on all viewport sizes.</p>

<p class="text-sm-left">Left aligned text on viewports sized SM (small) or wider.</p>
<p class="text-md-left">Left aligned text on viewports sized MD (medium) or wider.</p>
<p class="text-lg-left">Left aligned text on viewports sized LG (large) or wider.</p>
<p class="text-xl-left">Left aligned text on viewports sized XL (extra-large) or wider</p>

สำหรับรายละเอียดเพิ่มเติม

หวังว่ามันจะช่วยคุณ


0

ใน Bootstrap คลาสนี้สามคลาสไม่ถูกต้อง

 .text-right {
     text-align: right; }

 .text-center {
     text-align: center; }

 .text-left {
    text-align: left; }

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

คุณหมายถึงอะไรโดย"ในสามระดับชั้นนี้เงินทุนที่ไม่ถูกต้อง" ? คุณสามารถทำอย่างละเอียด? โดยเฉพาะอย่างยิ่งสำหรับ"ชั้นไม่ถูกต้อง"
Peter Mortensen

0

text-align:center !importantใช้ อาจมีtext-alignกฎ CSS อื่น ๆดังนั้นจึง!importantเป็นสิ่งสำคัญ

table,
th,
td {
  color: black !important;
  border-collapse: collapse;
  background-color: yellow !important;
  border: 1px solid black;
  padding: 10px;
  text-align: center !important;
}
<table>
  <tr>
    <th>
      Center aligned text
    </th>
  </tr>
  <tr>
    <td>Center aligned text</td>
    <td>Center aligned text</td>
  </tr>
</table>

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