Answer-ID
  • Întrebări
  • Tag-uri
  • Categorii
Notificări
Recompense
Înregistrare
După înregistrare, veți primi notificări despre răspunsurile și comentariile la întrebările DVS.
Logare
Dacă aveţi deja un cont, autentificaţi-vă pentru a verifica notificările noi.
Aici vor fi recompensele pentru întrebările, răspunsurile și comentariile adăugate sau modificate.
Mai mult
Sursă
Editează
 grom
grom

Cum puteți personaliza numerele într-o listă ordonată?

Cum pot lăsa alinierea numerelor într-o listă ordonată?

1.  an item
// skip some items for brevity 
9.  another item
10. notice the 1 is under the 9, and the item contents also line up

Modificați caracterul după numărul dintr-o listă ordonată?

1) an item

Există, de asemenea, o soluție CSS pentru a trece de la numere la liste alfabetice/romane, în loc să folosiți atributul type de pe elementul ol.

Sunt mai mult interesat de răspunsurile care funcționează în Firefox 3.

99 2008-08-14T10:42:32+00:00 15
Programare
html
css
html-lists
roman-numerals
Comentarii la întrebare (0)
Marcus Downing
14 august 2008 в 3:01
2008-08-14T15:01:30+00:00
Mai mult
Sursă
Editează
#10887

CSS pentru listele de stil este aici , dar este în esență:

li {
    list-style-type: decimal;
    list-style-position: inside;
}

Cu toate acestea, aspectul specific pe care îl urmăriți poate fi realizat, probabil, numai prin înclinarea în interiorul aspectului cu ceva de genul (notați că nu am încercat-o):

ol { counter-reset: item }
li { display: block }
li:before { content: counter(item) ") "; counter-increment: item }
0
0
Comentarii (0)
GateKiller
14 august 2008 в 3:03
2008-08-14T15:03:49+00:00
Mai mult
Sursă
Editează
#10889

Există atributul Type , care vă permite să schimbați stilul de numerotare, cu toate acestea, nu puteți modifica oprire completă după numărul/litera.

  1. Turn left on Maple Street
  2. Turn right on Clover Court
0
0
Comentarii (0)
Marcus Downing
18 august 2008 в 6:51
2008-08-18T18:51:27+00:00
Mai mult
Sursă
Editează
#14738

Vă sugerez să jucați cu: înainte de atributul și să vedeți ce puteți obține cu el. Aceasta va însemna că codul dvs. este într-adevăr limitat la browsere noi și exclude secțiunea (enervant de mare) a pieței, care încă utilizează browsere vechi,

Ceva de genul următor, care forțează un fix pe elementele. Da, știu că este mai puțin elegant să trebuiască să alegi lățimea, dar folosirea CSS pentru aspectul tău este ca munca polițienească sub acoperire: oricât de bună este motivul tău, întotdeauna devine dezordonat.

li:before {
  content: counter(item) ") ";
  counter-increment: item;
  display: marker;
  width: 2em;
}

Dar va trebui să experimentați pentru a găsi soluția exactă.

0
0
Comentarii (0)
Peter Hilton
24 august 2008 в 2:30
2008-08-24T14:30:06+00:00
Mai mult
Sursă
Editează
#24960

Numerele se clasifică mai bine dacă adăugați numere de conducere la zero, setând tipul de listă de la:

ol { list-style-type: decimal-leading-zero; }
0
0
Comentarii (0)
willoller
28 ianuarie 2009 в 7:54
2009-01-28T07:54:20+00:00
Mai mult
Sursă
Editează
#486522

Cred că acesta este un răspuns care satisface cerințele dvs.:

li { 
  list-style-position: inside;
  margin-bottom: .5em;
}
li span {
  float: left;
  margin-left: 2em;
  margin-top: -1.25em;
}
  1. Item
  2. Item
  3. Item
  4. Item

0
0
Comentarii (0)
grom
28 ianuarie 2009 в 9:31
2009-01-28T09:31:49+00:00
Mai mult
Sursă
Editează
#486662

Aceasta este soluția la care lucrez în Firefox 3, Opera și Google Chrome. Lista se afișează încă în IE7 (dar fără consolele apropiate și numerele de aliniament stâng):

ol {
  counter-reset: item;
  margin-left: 0;
  padding-left: 0;
}
li {
  display: block;
  margin-bottom: .5em;
  margin-left: 2em;
}
li::before {
  display: inline-block;
  content: counter(item) ") ";
  counter-increment: item;
  width: 2em;
  margin-left: -2em;
}
  1. One
  2. Two
  3. Three
  4. Four
  5. Five
  6. Six
  7. Seven
  8. Eight
  9. Nine
    Items
  10. Ten
    Items

EDIT: Included multiple line fix by strager

De asemenea, există o soluție CSS pentru a schimba de la numere la liste alfabetice/romane, în loc să folosiți atributul type de pe elementul ol.

Consultați proprietatea CSS tip de tip . Sau când folosiți contoare, al doilea argument acceptă o valoare de tip listă. De exemplu, următorul lucru va folosi romanul superior:

li::before {
  content: counter(item, upper-roman) ") ";
  counter-increment: item;
/* ... */
0
0
Comentarii (0)
Stephen Denne
28 ianuarie 2009 в 9:53
2009-01-28T09:53:43+00:00
Mai mult
Sursă
Editează
#486704

The docs say regarding list-style-position: outside

CSS1 nu a specificat locația exactă a casetei de marcare și, din motive de compatibilitate, CSS2 rămâne la fel de ambiguă. Pentru un control mai precis al cutiilor de marcare, folosiți markeri.

Mai departe, pagina este chestia despre marcatori.

Un exemplu este:

       LI:before { 
           display: marker;
           content: "(" counter(counter) ")";
           counter-increment: counter;
           width: 6em;
           text-align: center;
       }
0
0
Comentarii (0)
Marcus Downing
28 ianuarie 2009 в 5:49
2009-01-28T17:49:18+00:00
Mai mult
Sursă
Editează
#487884

O am. Încercați următoarele:






  1. Something
  2. Something
  3. Something
  4. Something
  5. Something
  6. Something
  7. Something
  8. Something
  9. Something
  10. Something
  11. Something
  12. Something

Cunoașterea este că cu siguranță nu va funcționa pe browsere mai vechi sau mai puțin compatibile: display: inline-block este o proprietate foarte nouă.

0
0
Comentarii (0)
Steve Perks
28 ianuarie 2009 в 6:54
2009-01-28T18:54:43+00:00
Mai mult
Sursă
Editează
#488160

Faceți multe din aceste răspunsuri, dar acest lucru funcționează în FF3 pentru mine. Are codul upper-roman , indentarea uniformă, o bandă închisă.




 new document 




  1. One
  2. Two
  3. Three
  4. Four
  5. Five
  6. Six
  7. Seven
  8. Eight
  9. Nine
  10. Ten
0
0
Comentarii (0)
strager
28 ianuarie 2009 в 11:01
2009-01-28T23:01:32+00:00
Mai mult
Sursă
Editează
#489088

Împrumutat și îmbunătățit Răspunsul lui Marcus Downing . Testat și funcționează în Firefox 3 și Opera 9. Suportă și mai multe linii.

ol {
    counter-reset: item;
    margin-left: 0;
    padding-left: 0;
}

li {
    display: block;
    margin-left: 3.5em;          /* Change with margin-left on li:before.  Must be -li:before::margin-left + li:before::padding-right.  (Causes indention for other lines.) */
}

li:before {
    content: counter(item) ")";  /* Change 'item' to 'item, upper-roman' or 'item, lower-roman' for upper- and lower-case roman, respectively. */
    counter-increment: item;
    display: inline-block;
    text-align: right;
    width: 3em;                  /* Must be the maximum width of your list's numbers, including the ')', for compatability (in case you use a fixed-width font, for example).  Will have to beef up if using roman. */
    padding-right: 0.5em;
    margin-left: -3.5em;         /* See li comments. */
}
0
0
Comentarii (0)
Marco Luglio
1 februarie 2009 в 8:02
2009-02-01T20:02:14+00:00
Mai mult
Sursă
Editează
#501153

Quick and dirt alternative solution. You can use a tabulation character along with preformatted text. Here's a possibility:


și html-ul tău:

  1. an item
  2. another item
  3. ...

Rețineți că spațiul dintre eticheta li și începutul textului este un caracter de tabulare (ceea ce obțineți atunci când apăsați tasta tab din interiorul blocajului).

Dacă aveți nevoie de suport pentru browsere mai vechi, puteți face acest lucru în schimb:



  1.    
    an item
  2.    
    another item
  3. ...
0
0
Comentarii (0)
Full Decent
23 noiembrie 2011 в 3:45
2011-11-23T03:45:10+00:00
Mai mult
Sursă
Editează
#8235507

Nu, folosiți doar un DL:

dl { overflow:hidden; }
dt {
 float:left;
 clear: left;
 width:4em; /* adjust the width; make sure the total of both is 100% */
 text-align: right
}
dd {
 float:left;
 width:50%; /* adjust the width; make sure the total of both is 100% */
 margin: 0 0.5em;
}
0
0
Comentarii (0)
Metro
28 noiembrie 2011 в 6:44
2011-11-28T06:44:12+00:00
Mai mult
Sursă
Editează
#8290965

The other answers are better from a conceptual point of view. However, you can just left-pad the numbers with the appropriate number of ' ' to make them line up.

* Note: I did not at first recognize that a numbered list was being used. I thought the list was being explicitly generated.

0
0
Comentarii (0)
tomasofen
8 februarie 2014 в 9:10
2014-02-08T21:10:48+00:00
Mai mult
Sursă
Editează
#21649098

Voi da aici tipul de răspuns pe care, de obicei, nu-mi place să-l citesc, dar cred că, deoarece există și alte răspunsuri care vă spun cum să obțineți ceea ce doriți, ar fi bine să vă regândiți dacă ceea ce încercați să obțineți este într-adevăr o idee buna.

În primul rând, ar trebui să vă gândiți dacă este o idee bună să afișați elementele într-un mod nestandard, cu un separator charater diferit de cel furnizat.

Nu știu motivele pentru asta, dar să presupunem că aveți motive întemeiate.

Modurile propuse aici pentru realizare constau în adăugarea de conținut la marcarea dvs., în principal prin CSS: înainte de pseudoclass. Acest conținut modifică într-adevăr structura dvs. DOM, adăugând acele elemente la acesta.

Când utilizați numerotarea standard "ol", veți avea un conținut redat în care textul "li" este selectabil, dar numărul care precede nu este selectabil. Asta înseamnă că sistemul de numerotare standard pare a fi mai "decorativ" decât conținut real. Dacă adăugați conținut pentru numere folosind, de exemplu, acele metode ": înainte", acest conținut va fi selectabil și poate fi utilizat pentru a efectua probleme nedorite de copiere/lipire sau probleme de accesibilitate cu cititoare de ecran care vor citi în plus acest conținut "nou" la sistemul de numerotare standard.

Poate că o altă abordare ar putea fi aceea de a modela numerele folosind imagini, deși această alternativă va aduce propriile probleme (numerele nu sunt afișate atunci când imaginile sunt dezactivate, dimensiunea textului pentru a nu se schimba numărul, ...).

Oricum, motivul pentru acest răspuns nu este doar de a propune această alternativă "imagini", ci de a face pe oameni să gândească în consecințele încercării de a schimba sistemul de numerotare standard pentru listele ordonate.

0
0
Comentarii (0)
z0r
5 august 2015 в 7:53
2015-08-05T07:53:54+00:00
Mai mult
Sursă
Editează
#31823704

De asemenea, puteți specifica propriile numere în HTML - de ex. dacă numerele sunt furnizate de o bază de date:

  1. Item one
  2. Item twenty
  3. Item three hundred

Atributul seq este facut vizibil folosind o metoda similara celei din alte raspunsuri. Dar în loc să folosim content: counter (foo) , folosim content: attr (seq) :

ol {
  list-style: none;
}

ol > li:before {
  content: attr(seq) ". ";
}

Demonstrație în CodePen cu mai mult stil

0
0
Comentarii (0)
Adăugati o întrebare
Categorii
Toate
Tehnologii
Cultură
Viață / Artă
Stiință
Profesii
Afaceri
ID
KO
RU
© Answer-ID 2021
Sursă
stackoverflow.com
în cadrul licenței cc by-sa 3.0 cu atribuire