简体   繁体   English

将有序列表编号与内容的第一行对齐

[英]Align ordered list number to first row of content

I have an ordered list that can contain any number of elements. 我有一个可以包含任意数量元素的有序列表。 Each element can be different in size, but regardless of size I want the number of the ordered list to align with the first row of the content. 每个元素的大小可以不同,但​​是无论大小如何,我都希望有序列表的编号与内容的第一行对齐。 So what I want to achieve is this: 所以我想要实现的是:

  1. Lorem ipsum dolor sit amet, consectetur adipiscing elit... Lorem ipsum dolor坐在amet,保密adipiscing精英...
  2. Box 1 方框1

See my jsfiddle for the problem I have. 有关我遇到的问题,请参见我的jsfiddle。

https://jsfiddle.net/txo5bsua/2/ https://jsfiddle.net/txo5bsua/2/

This is the HTML and CSS I have 这是我拥有的HTML和CSS

 .boxes { display: table; width: 100%; height: 100%; } .box { display: table-cell; } .box1 { background: orange; width: 75%; } .box2 { background: yellow; } 
 <ol> <li> <div class="boxes"> <div class="box box1"> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi quis condimentum massa. Quisque purus nisl, finibus id placerat id, ultricies non magna. Sed justo dui, tristique et metus at, fringilla viverra ipsum. Duis malesuada est eget lectus fermentum, vitae pretium eros tempor. Integer eu mi metus. Cras dui ipsum, iaculis ut libero dictum, dapibus consequat orci. Sed semper vitae lorem eu sollicitudin. Curabitur dapibus fringilla facilisis. Nullam facilisis ante in velit maximus gravida. </div> <div class="box box2"> <input type="radio">Yes <input type="radio">No </div> </div> </li> <li> <div class="boxes"> <div class="box box1">Box 1</div> <div class="box box2">Box 2</div> </div> </li> </ol> 

Can you help me with this? 你能帮我吗?

Does this work for you? 这对您有用吗?

 .boxes { display:table; width: 100%; height: 100%; float: right; } li { clear: both; } .box { display: table-cell; } .box1 { background: orange; width:75%; } .box2 { background: yellow; } 
 <ol> <li> <div class="boxes"> <div class="box box1"> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi quis condimentum massa. Quisque purus nisl, finibus id placerat id, ultricies non magna. Sed justo dui, tristique et metus at, fringilla viverra ipsum. Duis malesuada est eget lectus fermentum, vitae pretium eros tempor. Integer eu mi metus. Cras dui ipsum, iaculis ut libero dictum, dapibus consequat orci. Sed semper vitae lorem eu sollicitudin. Curabitur dapibus fringilla facilisis. Nullam facilisis ante in velit maximus gravida. </div> <div class="box box2"> <input type="radio">Yes <input type="radio">No </div> </div> </li> <li> <div class="boxes"> <div class="box box1">Box 1</div> <div class="box box2">Box 2</div> </div> </li> </ol> 

updated answer. 更新的答案。 it will work on IE also 它也可以在IE上使用

use display:inline-table 使用display:inline-table

demo: jsfiddle 演示: jsfiddle

 .boxes { display:inline-table; width: 100%; height: 100%; } .box { display: table-cell; } .box1 { background: orange; width:75%; } .box2 { background: yellow; width:25%; } 
 <ol> <li> <div class="boxes"> <div class="box box1"> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi quis condimentum massa. Quisque purus nisl, finibus id placerat id, ultricies non magna. Sed justo dui, tristique et metus at, fringilla viverra ipsum. Duis malesuada est eget lectus fermentum, vitae pretium eros tempor. Integer eu mi metus. Cras dui ipsum, iaculis ut libero dictum, dapibus consequat orci. Sed semper vitae lorem eu sollicitudin. Curabitur dapibus fringilla facilisis. Nullam facilisis ante in velit maximus gravida. </div> <div class="box box2"> <input type="radio">Yes <input type="radio">No </div> </div> </li> <li> <div class="boxes"> <div class="box box1">Box 1</div> <div class="box box2">Box 2</div> </div> </li> </ol> 

use display: inline-flex; 使用display: inline-flex; instead of display: table; 而不是display: table; for your class .boxes . 为您的课程.boxes

If you want to keep the space below the boxes you can add margin-bottom: 20px; 如果要将空格保留在方框下方,则可以在margin-bottom: 20px;添加margin-bottom: 20px; :

 .boxes { display:inline-flex; width: 100%; height: 100%; margin-bottom: 20px; } .box { display: table-cell; } .box1 { background: orange; width:75%; } .box2 { background: yellow; width: 25%; } li { clear: both; } 
 <ol> <li> <div class="boxes"> <div class="box box1">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi quis condimentum massa. Quisque purus nisl, finibus id placerat id, ultricies non magna. Sed justo dui, tristique et metus at, fringilla viverra ipsum. Duis malesuada est eget lectus fermentum, vitae pretium eros tempor. Integer eu mi metus. Cras dui ipsum, iaculis ut libero dictum, dapibus consequat orci. Sed semper vitae lorem eu sollicitudin. Curabitur dapibus fringilla facilisis. Nullam facilisis ante in velit maximus gravida. </div> <div class="box box2"> <input type="radio">Yes <input type="radio">No </div> </div> </li> <li> <div class="boxes"> <div class="box box1">Box 1</div> <div class="box box2">Box 2</div> </div> </li> </ol> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM