วิธีจัดรูปแบบ dt และ dd เพื่อให้อยู่ในบรรทัดเดียวกัน


212

ใช้ CSS ฉันจะจัดรูปแบบต่อไปนี้ได้อย่างไร:

<dl>
    <dt>Mercury</dt>
    <dd>Mercury (0.4 AU from the Sun) is the closest planet to the Sun and the smallest planet.</dd>
    <dt>Venus</dt>
    <dd>Venus (0.7 AU) is close in size to Earth, (0.815 Earth masses) and like Earth, has a thick silicate mantle around an iron core.</dd>
    <dt>Earth</dt>
    <dd>Earth (1 AU) is the largest and densest of the inner planets, the only one known to have current geological activity.</dd>
</dl>

ดังนั้นเนื้อหาของการdtแสดงในหนึ่งคอลัมน์และเนื้อหาของddในคอลัมน์อื่นโดยที่แต่ละรายการdtและสอดคล้องกันddในบรรทัดเดียวกัน เช่นผลิตสิ่งที่ดูเหมือนว่า:

รูปแบบตาราง


เช่นเดียวกับโน้ตที่มีประโยชน์: หากคุณต้องการควบคุมระยะห่างระหว่างบรรทัดของ dts และ dds ให้ตรวจสอบที่นี่: stackoverflow.com/q/896815/114029แท็กที่ทรงพลังเหล่านี้ทำให้รูปแบบการจัดแต่งทรงผมเป็นเรื่องง่ายและสวยงามจริงๆ
Leniel Maccaferri

โปรดดูstackoverflow.com/questions/896815/…โดยเฉพาะคำตอบที่ได้รับการยอมรับstackoverflow.com/a/896840/1037948
drzaus

1
โปรดลองเปลี่ยนคำตอบที่ยอมรับให้เป็นอย่างนี้: stackoverflow.com/a/44599527/3853934
MichałPerłakowski

คำตอบ:


140

dl {
  width: 100%;
  overflow: hidden;
  background: #ff0;
  padding: 0;
  margin: 0
}
dt {
  float: left;
  width: 50%;
  /* adjust the width; make sure the total of both is 100% */
  background: #cc0;
  padding: 0;
  margin: 0
}
dd {
  float: left;
  width: 50%;
  /* adjust the width; make sure the total of both is 100% */
  background: #dd0
  padding: 0;
  margin: 0
}
<dl>
  <dt>Mercury</dt>
  <dd>Mercury (0.4 AU from the Sun) is the closest planet to the Sun and the smallest planet.</dd>
  <dt>Venus</dt>
  <dd>Venus (0.7 AU) is close in size to Earth, (0.815 Earth masses) and like Earth, has a thick silicate mantle around an iron core.</dd>
  <dt>Earth</dt>
  <dd>Earth (1 AU) is the largest and densest of the inner planets, the only one known to have current geological activity.</dd>
</dl>


2
ขอบคุณ! ทิป CSS นี้ช่วยให้ฉันจัดรูปแบบฟอร์ม Zend ของฉันโดยไม่ต้องใช้คลาสตัวตกแต่งโค้ด
devNoise

ดูเหมือนว่าคุณจะไม่สามารถเพิ่มระยะขอบด้านล่างหรือเว้นระยะห่างจากส่วนท้าย "แถว" โดยใช้วิธีนี้
Graeck

7
ฉันขอแนะนำให้เพิ่มclear: leftสไตล์ dt เพื่อให้แน่ใจว่าพวกเขาอยู่ในบรรทัดแม้ว่าพวกเขาจะต้องห่อ
Simon

1
* { ... }คำสั่งทำให้ทุกอย่างสูญเสียอัตรากำไรและการขยายและถอดมันออกมาบิดเบือนลิงค์ การใช้คลาสจะไม่ทำเคล็ดลับเช่นกัน ดูเหมือนว่าถ้าฉันต้องการอะไรนอกจาก DL ฉันจะต้องไปโดยไม่มีขอบและช่องว่างทุกที่ ... หรือ?
Erk

สิ่งนี้จะทำงานอย่างเชื่องช้าเมื่อคุณเลือก (ดับเบิลคลิก) คำแรกใน <dd> นอกจากนี้ยังเลือกข้อความภายใน <dt> ยกเว้นว่ามีช่องว่าง (หรือ & nbsp; หากคุณใช้ htmlmin) ระหว่าง <dt> และ <dd>
KFunk

122

ฉันมีวิธีแก้ปัญหาโดยไม่ใช้ Floats!
ตรวจสอบนี้ใน codepen

ได้แก่

dl.inline dd {
  display: inline;
  margin: 0;
}
dl.inline dd:after{
  display: block;
  content: '';
}
dl.inline dt{
  display: inline-block;
  min-width: 100px;
}



Update - 3 มกราคม 2017:ฉันได้เพิ่มการแก้ปัญหาตามดิ้นกล่องสำหรับปัญหาที่เกิดขึ้น ตรวจสอบว่าในcodepen ที่เชื่อมโยงและปรับแต่งตามความต้องการ ขอบคุณ!

dl.inline-flex {
  display: flex;
  flex-flow: row;
  flex-wrap: wrap;
  width: 300px;      /* set the container width*/
  overflow: visible;
}
dl.inline-flex dt {
  flex: 0 0 50%;
  text-overflow: ellipsis;
  overflow: hidden;
}
dl.inline-flex dd {
  flex:0 0 50%;
  margin-left: auto;
  text-align: left;
  text-overflow: ellipsis;
  overflow: hidden;
}

2
ที่สมบูรณ์แบบ! ทุ่นลอยอันชั่วร้ายนั้นแก้ปัญหาเพียงปัญหาเดียวโดยมอบสองสิ่งใหม่ให้ฉัน เยี่ยมมากที่ตอนนี้หายไปแล้ว
ไข้หวัดใหญ่

8
ใช้ได้ดีกับข้อความสั้น ๆ ในส่วนของ DD; หากข้อความยาวเกินไปข้อความจะถูกล้อมรอบและแสดงใต้ส่วน DT
Riccardo Murri

3
วิธีนี้ใช้ได้แม้ว่าบางรายการในรายการจะว่างเปล่า ที่ดี!
Tomas Kubes

@ tjm1706: ฉันคิดว่าโซลูชันแบบยืดหยุ่นสามารถรองรับตัวพิมพ์เล็กได้ ขอบคุณ :)
Navaneeth

@navaneeth สุดยอด sol'n ในการรับจุดระหว่างคำและคำจำกัดความที่ฉันเพิ่ม: dl.inline-flex dt: after {content: "................ "} ฉันใช้ 150 จุดที่นี่เพื่อให้แน่ใจว่ามี มีความเพียงพอ คุณต้องเพิ่ม white-space: now ให้ dt
MERM

61

เค้าโครง CSS Grid

เช่นเดียวกับตารางเค้าโครงของกริดทำให้ผู้เขียนสามารถจัดองค์ประกอบเข้ากับคอลัมน์และแถวได้
https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Grid_Layout

หากต้องการเปลี่ยนขนาดคอลัมน์ลองดูที่grid-template-columnsคุณสมบัติ

dl {
  display: grid;
  grid-template-columns: max-content auto;
}

dt {
  grid-column-start: 1;
}

dd {
  grid-column-start: 2;
}
<dl>
  <dt>Mercury</dt>
  <dd>Mercury (0.4 AU from the Sun) is the closest planet to the Sun and the smallest planet.</dd>
  <dt>Venus</dt>
  <dd>Venus (0.7 AU) is close in size to Earth, (0.815 Earth masses) and like Earth, has a thick silicate mantle around an iron core.</dd>
  <dt>Earth</dt>
  <dd>Earth (1 AU) is the largest and densest of the inner planets, the only one known to have current geological activity.</dd>
</dl>


นี่คือว่าสิ่งที่ฉันต้องการ caniuse.com/#feat=css-grid - ไม่ค่อยเป็นสากลเท่าที่ฉันต้องการ แต่ได้รับการสนับสนุนอย่างดีพอสมควร
Iiridayn

59

หากคุณใช้ Bootstrap 3 (หรือก่อนหน้า) ...

<dl class="dl-horizontal">
    <dt>Label:</dt>
    <dd>
      Description of planet
    </dd>
    <dt>Label2:</dt>
    <dd>
      Description of planet
    </dd>
</dl>

14
ถ้าคุณดู CSS ของ Bootstrap คุณสามารถเข้าใจวิธีการสไตล์ได้โดยไม่ต้องใช้ Bootstrap ด้วยเช่นกันแม้ว่าฉันจะชอบเฟรมเวิร์คนั้น นี่คือตัวอย่างข้อมูลโดยไม่สนใจเคียวรีสื่อบันทึกสำหรับการออกแบบที่ตอบสนองเพื่อความเรียบง่ายของตัวอย่าง: dl {margin-top: 0; margin-bottom: 20px} dt, dd {line-height: 1.428571429} dt {font-weight: 700} dd {margin-left: 0} .dl-horizontal dt {float: left; width: 160px; clear: left; text-align: right; overflow: hidden; text-overflow: ellipsis; white-space: nowrap} .dl- horizontal dd {margin-left: 180px}
Tim Franklin

8
ที่dl-horizontalจริงแล้วตกจาก Bootstrap 4 ใน BS4 คุณต้องใช้คลาสกริดแทน
Scribblemacher

21

สมมติว่าคุณทราบความกว้างของระยะขอบ:

dt { float: left; width: 100px; }
dd { margin-left: 100px; }

2
ฉันจะไม่เรียกมันว่าสะอาดเพราะคุณได้กำหนดระยะขอบไว้อย่างหนัก
Liam Dawson

6
สะอาด: มีรูปทรงที่เรียบง่ายชัดเจนและเป็นที่ชื่นชอบ คำตอบนั้นสั้น มันแก้ปัญหาในสามงบ การไม่ทราบว่าส่วนต่างไม่ได้เป็นข้อกำหนดตามส่วนหนึ่งของคำถาม
บรรพบุรุษ

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

8

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

dd {
    margin: 0;
}
dd::after {
    content: '\A';
    white-space: pre-line;
}
dd:last-of-type::after {
    content: '';
}
dd, dt {
    display: inline;
}
dd, dt, .address {
    vertical-align: middle;
}
dt {
    font-weight: bolder;
}
dt::after {
    content: ': ';
}
.address {
    display: inline-block;
    white-space: pre;
}
Surrounding

<dl>
  <dt>Phone Number</dt>
  <dd>+1 (800) 555-1234</dd>
  <dt>Email Address</dt>
  <dd><a href="#">example@example.com</a></dd>
  <dt>Postal Address</dt>
  <dd><div class="address">123 FAKE ST<br />EXAMPLE EX  00000</div></dd>
</dl>

Text

display: inline-blockแปลกพอมันไม่ได้ทำงานร่วมกับ ผมคิดว่าถ้าคุณจำเป็นต้องกำหนดขนาดของใด ๆ ของdtองค์ประกอบหรือddองค์ประกอบคุณสามารถตั้งค่าdlการแสดงผลของเป็นdisplay: flexbox; display: -webkit-flex; display: flex;และflexชวเลขของddองค์ประกอบและdtองค์ประกอบเป็นสิ่งที่ชอบflex: 1 1 50%และเป็นdisplay display: inline-blockแต่ฉันยังไม่ได้ทดสอบดังนั้นให้เข้าหาด้วยความระมัดระวัง


6

ภาพหน้าจอ jsFiddle

ดู ตัวอย่าง jsFiddle

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

.myList dd:after {
  content: '';
  display: table;
  clear: both;
}

นอกจากนี้ฉันต้องการให้ข้อความแสดงเฉพาะทางด้านขวาของภาพโดยไม่ต้องล้อมใต้รูปภาพที่ลอย (เอฟเฟกต์คอลัมน์หลอก) สิ่งนี้สามารถทำได้โดยการเพิ่มDIVองค์ประกอบที่มี CSS overflow: hidden;รอบเนื้อหาของDDแท็ก คุณสามารถละเว้นสิ่งพิเศษนี้ได้DIVแต่เนื้อหาของDDแท็กจะถูกรวมไว้ใต้การลอยDTแท็กจะตัดภายใต้ลอย

หลังจากที่เล่นกับมันในขณะที่ผมก็สามารถที่จะสนับสนุนหลายDTองค์ประกอบต่อDDแต่ไม่หลายองค์ประกอบต่อDD DTฉันพยายามเพิ่มคลาสที่เป็นทางเลือกอื่นเพื่อล้างเฉพาะหลังจากที่ผ่านDDมา แต่DDองค์ประกอบที่ตามมาถูกรวมอยู่ภายใต้DTองค์ประกอบ (ไม่ใช่เอฟเฟกต์ที่ฉันต้องการ ... ฉันต้องการDTและDDองค์ประกอบในการสร้างคอลัมน์และส่วนเพิ่มเติมDDองค์ประกอบนั้นกว้างเกินไป)

โดยสิทธิ์ทั้งหมดนี้ควรทำงานใน IE8 + แต่เนื่องจากการเล่นโวหารใน IE7 ก็ใช้งานได้เช่นกัน


หนึ่งในคำตอบที่ดีที่สุดได้อย่างง่ายดายที่นี่
Michael Ahlers

5

นี่เป็นอีกตัวเลือกที่ทำงานโดยการแสดง dt และ dd อินไลน์แล้วเพิ่มตัวแบ่งบรรทัดหลังจาก dd

dt, dd {
 display: inline;
}
dd:after {
 content:"\a";
 white-space: pre;
}

สิ่งนี้คล้ายกับโซลูชันของ Navaneeth ด้านบน แต่การใช้วิธีนี้เนื้อหาจะไม่เข้าแถวเหมือนในตาราง แต่ dd จะติดตาม dt ทันทีในทุกบรรทัดโดยไม่คำนึงถึงความยาว


5

ฉันต้องทำสิ่งนี้และมี<dt>เนื้อหาเป็นศูนย์กลางในแนวตั้งสัมพันธ์กับ<dd>เนื้อหา ฉันใช้display: inline-blockร่วมกับvertical-align: middle

ดูตัวอย่างเต็มรูปแบบใน Codepen ที่นี่

.dl-horizontal {
  font-size: 0;
  text-align: center;

  dt, dd {
    font-size: 16px;
    display: inline-block;
    vertical-align: middle;
    width: calc(50% - 10px);
  }

  dt {
    text-align: right;
    padding-right: 10px;
  }

  dd {
    font-size: 18px;
    text-align: left;
    padding-left: 10px;
  } 
}

3

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

ทางออกหนึ่งสำหรับเรื่องนี้คือการโกงและทำให้แต่ละแถวเป็นองค์ประกอบ "dl" (นี่เทียบเท่ากับการใช้ tr ในตาราง) เราปล่อยความสนใจดั้งเดิมของรายการคำจำกัดความ แต่ในทางกลับกันนี่เป็นวิธีที่ง่ายในการรับตารางหลอกที่รวดเร็วและมีสไตล์

CSS:

dl {
 margin:0;
 padding:0;
 clear:both;
 overflow:hidden;
}
dt {
 margin:0;
 padding:0;
 float:left;
 width:28%;
 list-style-type:bullet;
}
dd {
 margin:0;
 padding:0;
 float:right;
 width:72%;
}

.huitCinqPts dl dt, .huitCinqPts dl dd {font-size:11.3px;}
.bord_inf_gc dl {padding-top:0.23em;padding-bottom:0.5em;border-bottom:1px solid #aaa;}

HTML:

<div class="huitCinqPts bord_inf_gc">
  <dl><dt>Term1</dt><dd>Definition1</dd></dl>
  <dl><dt>Term2</dt><dd>Definition2</dd></dl>
</div>

1
คุณไม่เขียนquatreVingtCinqPtsหรอ :)
nicodemus13

2

ฉันพบวิธีแก้ไขปัญหาที่สมบูรณ์แบบสำหรับฉันแล้ว แต่ต้องการ<div>แท็กเพิ่มเติม ปรากฎว่ามันไม่จำเป็นต้องใช้<table>แท็กเพื่อจัดตำแหน่งเหมือนในตารางมันพอเพียงที่จะใช้display:table-row;และ display:table-cell;สไตล์:

<style type="text/css">
dl > div {
  display: table-row;
}
dl > div > dt {
  display: table-cell;
  background: #ff0;
}
dl > div > dd {
  display: table-cell;
  padding-left: 1em;
  background: #0ff;
}
</style>

<dl>
  <div>
    <dt>Mercury</dt>
    <dd>Mercury (0.4 AU from the Sun) is the closest planet to the Sun and the smallest planet.</dd>
  </div>
  <div>
    <dt>Venus</dt>
    <dd>Venus (0.7 AU) is close in size to Earth, (0.815 Earth masses) and like Earth, has a thick silicate mantle around an iron core.</dd>
  </div>
  <div>
    <dt>Earth</dt>
    <dd>Earth (1 AU) is the largest and densest of the inner planets, the only one known to have current geological activity.</dd>
  </div>
</dl>

ทำไมจึงไม่เป็นไปตามมาตรฐาน XHTML
Derick Schoonbee

8
@DerickSchoonbee - เพราะdlอนุญาตเท่านั้นที่จะมีdts และdds เป็นเด็ก dts สามารถมีองค์ประกอบแบบอินไลน์เป็นเด็กเท่านั้น dds ด้วยเหตุผลบางอย่างสามารถมีองค์ประกอบระดับบล็อกเป็นเด็ก
แอนโทนี่

6
-1 ไม่ HTML ที่ถูกต้อง 4, XHTML 1 หรือ HTML 5. โดยทั่วไปคุณเพียงต้องการDIองค์ประกอบเหมือนตัวเอง แต่ด้วยองค์ประกอบดังกล่าวคุณไม่จำเป็นต้องมีสิ่งลึกลับเช่นตาราง CSS เลย ... อย่างไรก็ตามองค์ประกอบนั้นไม่มีอยู่ดังนั้นคุณจึงไม่ควรใช้
Andreas Rejbrand

@AndreasRejbrand องค์ประกอบ DI ไม่ถูกต้อง HTML5 อย่างใดอย่างหนึ่ง
AlexMorley-Finch

@ AlexMorley-Finch: ฉันรู้ นั่นเป็นเหตุผลที่ฉันบอกว่าฉันต้องการองค์ประกอบดังกล่าว (DI มาจาก XHTML 2.0) Ian Hickson บรรณาธิการ WHATWG HTML 5 ทำให้ฉันรู้ว่าค่าrun-inCSS displayเป็นสิ่งที่ฉันต้องการ (ในกรณีของฉันฉันต้องการรายการเมทาดาทาค่าชื่ออย่างง่าย)
Andreas Rejbrand

2

เมื่อเร็ว ๆ นี้ฉันต้องการผสมคู่ inline และ non-inline dt / dd โดยระบุ class dl-inlineใน<dt>องค์ประกอบที่ควรตามด้วย<dd>องค์ประกอบแบบอินไลน์

dt.dl-inline {
  display: inline;
}
dt.dl-inline:before {
  content:"";
  display:block;
}
dt.dl-inline + dd {
  display: inline;
  margin-left: 0.5em;
  clear:right;
}
<dl>
    <dt>The first term.</dt>
    <dd>Definition of the first term. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque a placerat odio viverra fusce.</dd>
    <dt class="dl-inline">The second term.</dt>
    <dd>Definition of the second term. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque a placerat odio viverra fusce.</dd>
    <dt class="dl-inline">The third term.</dt>
    <dd>Definition of the third term. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque a placerat odio viverra fusce.</dd>
    <dt>The fourth term</dt>
    <dd>Definition of the fourth term. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque a placerat odio viverra fusce.</dd>
</dl

>


1

ใช้งานได้กับ IE7 + ซึ่งเป็นไปตามมาตรฐานและอนุญาตความสูงที่แตกต่างกัน

<style>
dt {
    float: left;
    clear: left;
    width: 100px;        
    padding: 5px 0;
    margin:0;
}
dd {
    float: left;
    width: 200px;
    padding: 5px 0;
    margin:0;
}
.cf:after {
    content:'';
    display:table;
    clear:both;
}
</style>

<dl class="cf">
    <dt>A</dt>
    <dd>Apple</dd>
    <dt>B</dt>
    <dd>Banana<br>Bread<br>Bun</dd>
    <dt>C</dt>
    <dd>Cinnamon</dd>
</dl>        

ดู JSFiddle


1

การทำงานเพื่อแสดงเป็นตารางที่มีเส้นขอบควรตอบสนองด้วย 3em ความกว้างของคอลัมน์แรก การตัดคำเพียงแค่แบ่งคำที่กว้างกว่าคอลัมน์

 dl { display:block;
      border:2px solid black;
      margin: 1em;}  
 dt { display:inline-block;
      width:3em;
      word-wrap:break-word;} 
 dd { margin-left:0;
      display:inline;
      vertical-align:top;
      line-height:1.3;} 
 dd:after { content:'';display:block; } 

เปรียบเทียบ<table>กับ<dl>:

<!DOCTYPE html>
<html>
<style>

dl { display:block;border:2px outset black;margin:1em; line-height:18px;}  
dt { display:inline-block;width:3em; word-wrap:break-word;} 

dd { margin-left:0; display:inline; vertical-align:top; line-height:1.3;} 
dd:after { content:'';display:block; } 


.glosstable { border:2px outset #aaaaaa;margin:1em; text-align:left}  
.glosstable, table, tbody,  tr,  td, dl, dt {font-size:100%; line-height:18px;}

.glossaz { font-size:140%;padding-left:2em;font-weight:bold;color: #00838c; } 
td.first {width: 2.5em;} 
</style>
<body>
Table<br>
<table class="glosstable">
  <tr><td class="first">Milk</td>
  <td class="glossdata">Black hot drink</td>
</tr>
  <tr><td class="first">Coffee2</td>
  <td class="glossdata">Black hot drink</td>
</tr>
  <tr><td>Warm milk</td>
  <td class="glossdata">White hot drink</td>
</tr>
</table>
DL list <br>
<dl class="glosstablep">
  <dt>Milk</dt>
  <dd class="glossdata">White cold drink</dd>
  <dt>Coffee2</dt>
  <dd class="glossdata">Black cold drink</dd>
  <dt>Warm Milk</dt>
  <dd class="glossdata">White hot drink</dd>
</dl>

</body>
</html>


0

ฉันมักจะเริ่มต้นด้วยสิ่งต่อไปนี้เมื่อรายการนิยามการกำหนดสไตล์เป็นตาราง:

dt,
dd{
    /* Override browser defaults */
    display: inline;
    margin: 0;
}

dt  {
    clear:left;
    float:left;
    line-height:1; /* Adjust this value as you see fit */
    width:33%; /* 1/3 the width of the parent. Adjust this value as you see fit */
}

dd {
    clear:right;
    float: right;
    line-height:1; /* Adjust this value as you see fit */
    width:67%; /* 2/3 the width of the parent. Adjust this value as you see fit */
}

-8

สิ่งที่คนส่วนใหญ่แนะนำให้ใช้งานได้ที่นี่ แต่คุณควรใส่รหัสทั่วไปลงในสไตล์ชีทและวางรหัสเฉพาะลงในรหัส html ดังที่แสดงด้านล่าง ไม่เช่นนั้นคุณจะได้สไตล์ชีทป่อง

นี่คือวิธีที่ฉันทำ:

รหัสสไตล์ชีทของคุณ:

<style>
    dt {
        float:left;
    }
    dd {
        border-left:2px dotted #aaa;
        padding-left: 1em;
        margin: .5em;
    }   
</style>

รหัส html ของคุณ:

<dl>
    <dt>1st Entity</dt>
    <dd style="margin-left: 5em;">Consumer</dd>
    <dt>2nd Entity</dt>
    <dd style="margin-left: 5em;">Merchant</dd>
    <dt>3rd Entity</dt>
    <dd style="margin-left: 5em;">Provider, or cToken direct to Merchant</dd>
    <dt>4th Entity</dt>
    <dd style="margin-left: 5em;">cToken to Provider</dd>
</dl>

ดูเหมือนว่านี้


1
ฉันจะแนะนำให้ต่อต้านการทำมาร์จิ้นซ้ายซ้ำเมื่อมันสามารถถูกย้ายไปยังสไตล์ชีต - พวกเขาอยู่ที่นั่นเพื่อป้องกันการทำซ้ำรหัส Bloat สไตล์ชีทสามารถตอบโต้ได้ด้วยการออกแบบที่สอดคล้องกัน แต่ถึงอย่างนั้น - ถ้าการป้องกันไม่ให้ bloat นั้นเป็นการบันทึกทราฟฟิกเครือข่ายมันก็ยังคงถูกบันทึกไว้โดยการใส่เข้าไปใน style sheet แทน HTML
Iiridayn

2
-1 ขอโทษ อย่าใช้รูปแบบอินไลน์เว้นแต่ว่าคุณจะไม่มีตัวเลือกอื่น ๆ จริงๆมิฉะนั้นคุณจะจบลงด้วยมาร์กอัป html ที่ยุ่งเหยิงเพื่อเริ่มต้น
MEM

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