2015-09-08 4 views
2

Я создаю сайт, который имеет страницу часто задаваемых вопросов, и мне было интересно, если я мог бы сделать «заказал» список, но вместо отображенияHTML FAQ упорядоченный список

  1. вопрос ....
    в) ответ .....
  2. вопрос
    а) ответ
    и т.д. который будет сделано с помощью:

<ol> 
 
    <li>question</li> 
 
     <ol type="A"> 
 
     <li>answer</li> 
 
     </ol> 
 
    <li>question 2</li> 
 
     <ol type="A"> 
 
     <li>answer 2</li> 
 
     <ol> 
 
</ol>
Но есть ли способ превратить числа (и буквы) в вопрос и ответ? или мне приходится вручную вводить вопросы и ответы для каждой строки? Я использовал JavaScript (и css) раньше, но не JQuery. Я бы предпочел сделать это с помощью JavaScript.

EDIT: Я не знал о дде и Dt (список описания) когда я задал этот вопрос. Первоначально я пытался сделать одну строку «Вопрос», а затем «Ответ» на следующей строке, но ответ @Timothy Jones сказал, что имеет смысл, а затем упорядоченный список.

+0

вы можете сделать это со стороны сервера или на стороне клиента. но вам нужна база данных для хранения ваших QA вместо «жесткого кодирования» QA. –

+0

Существует не вопрос «отправить вопрос», который я проверяю и отвечаю, поскольку это всего лишь простое упражнение класса. – Michael

+0

Что-то в этом роде? .. http://jsfiddle.net/wxocofu6/ –

ответ

5

Я хотел бы сделать это с помощью description list, и селектор CSS ::before:

<style type="text/css"> 
 
    dt::before { 
 
     content: "Question: "; 
 
    } 
 
    dd::before { 
 
     content: "Answer: "; 
 
    } 
 
</style> 
 
<dl> 
 
    <dt>How would this look?</dt> 
 
     <dd>it would look alright</dd> 
 
    <dt>Alright, well how would this look?</dt> 
 
     <dd>it would also look alright</dd> 
 
</dl>

(добавить стили в зависимости от обстоятельств). Я предпочитаю это с помощью javascript-решения, так как он не требует никакой обработки после загрузки страницы.

+0

Отлично, это то, что я пытался получить! – Michael

0

Одним из способов было бы установить стиль значка none, а затем использовать в CSS ранее заданный текст.

.questions li { list-style-type: none; font-weight: bold; color: black; } 
 
.questions li:before { content: "Question"; padding-right: 5px; color: red; } 
 
.answer li { list-style-type: none; font-weight: bold; color: black; } 
 
.answer li:before { content: "Answer"; padding-right: 5px; color: red; }
<ol class="questions"> 
 
    <li>Do you do the thing?</li> 
 
     <ol class="answer"> 
 
     <li>Yes, we do.</li> 
 
     </ol> 
 
    <li>How do you do the thing?</li> 
 
     <ol class="answer"> 
 
     <li>With lots of magic!</li> 
 
     <ol> 
 
</ol>

+0

Это то, что я пытался сделать, но Тимоти Джонс поставил вас на пару секунд, и его ответ выглядит проще. – Michael

+0

Угадайте, я должен оставить его в нестандартном стиле! убирайся! Ах, хорошо, он определенно немного проще и чище. –

1

HTML

<ol class="faq"> 
    <li> 
     <ol><li></li></ol> 
    </li> 
    <li> 
     <ol><li></li></ol> 
    </li> 
    <li> 
     <ol><li></li></ol> 
    </li> 
    <li> 
     <ol><li></li></ol> 
    </li> 
</ol> 

CSS

ol { list-style-type: none; } 

ol.faq { padding-left: 0; } 

ol.faq > li::before { 
    content: "Question"; 
    color: red; 
} 

ol.faq > li > ol > li::before { 
    content: "Answer"; 
    color: green; 
} 

DEMO: http://jsfiddle.net/wxocofu6/5/

Обратите внимание, что в вашем коде ваши списки ненадлежащим образом вложены.

+0

О вашей заметке, вот как меня учили, и это позволяет мне легче понять это. Я пытаюсь найти лучшие привычки, но как это сделать? – Michael

+0

Если вы вложили список в элемент списка, вы не закрываете элемент списка до тех пор, пока код для вложенных элементов не будет закрыт. Другими словами, рассмотрите '

  • ' и '
  • ' контейнер. Все списки, которые вы хотите вложить в этот элемент списка, находятся между этими тегами. Для получения четкой иллюстрации см. Этот ответ: http://stackoverflow.com/questions/5899337/proper-way-to-make-html-nested-list –

    Смежные вопросы