lunes, 9 de diciembre de 2013

Filled Under: ,

Numerando con CSS. Secciones de un artículo con HR – Hard drive

Numerar con hr
Con CSS se pueden hacer muchísimas cosas pero a veces es difícil imaginar la aplicación práctica que cubre precisamente lo que queremos conseguir. En esta entrada veremos una de esas tonterías que de cuando en cuando se me ocurren y que puede servir para ir separando los distintos apartados de una entrada mediante barras de separación horizontal (hr), pero con la peculiaridad de que incorporarán automáticamente un número ordinal.

Para ello echaré mano de uno de los valores que podemos usar en la propiedadcontent y que es el denominadocounter. Este funciona tal y como nos anticipa su traducción, como un contador, y cómo su uso es muy sencillo, aprovecharemos principalmente para verlo con un poco de detalle.




La primera consideración es quecounter sólo puede ser usado como valor de los pseudoelementos:before o:after, por lo que será añadido respectivamente al principio o al final de la caja que lleve el selector principal.

Supondremos que lo que queremos es añadir un ordinal delante de cada elemento de determinada lista (li). Es algo poco eficaz porque con usar listas ordenadas (ol) ya lo tendríamos, pero lo hago sólo para poder ilustrar esto con un ejemplo.

Yo he bautizado el contador con el nombrecontadorlista, pero como con cualquier variable, cada cual le puede llamar como guste.



Los contadores pueden ser diversos así que en un principio necesitamos usar dos propiedades, una para nombrar cada contador y especificar su formato (counter) y otra que indicará en qué selector hay que ir sumando haciendo referencia al nombre del contador. Esta segunda se denominacounter-increment.

Supongamos un HTML como el siguiente:
ul class="listanumerada"
liContenido uno/li
liContenido dos/li
liContenido tres/li
liContenido cuatro/li
/ul

Para que a esa lista en concreto se le añada automáticamente un número delante de cada elemento, tendríamos que usar algo como esto:

ul.listanumerada li:before {
content: counter(contadorlista);
counter-increment: contadorlista;
}

Ahí lo que estamos indicando es que queremos insertar un contenido que será precisamente un contador llamadocontadorlista y que además, cada vez que "pasemos" por un nuevo elemento de lista, el contador se incremente y así se vayan generando los ordinales (1, 2, 3, 4, etc.) para cada uno de ellos.

Como hemos usado:before, el número se añadirá justo antes del contenido del elemento de lista.



Pero falta un detalle para que todo funcione bien y es que tenemos que poner a cero el contador en alguna parte, realmente en una caja que localizamos por el nombre de su selector.

Esto se logra concounter-reset, que se puede poner en cualquier selector siempre que sea antecesor, pero para que quede el código más junto y comprensible para futuras modificaciones, la puesta a cero la haremos al nivel del contenedor de la lista; en el ejemploul (ul.listanumerada):

ul.listanumerada {
counter-reset: contadorlista;
}



Pues ya lo tenemos todo, así que con el HTML que vimos antes y esas dos reglas CSS que puse después, nos debería salir algo como esto:

  • Contenido uno
  • Contenido dos
  • Contenido tres
  • Contenido cuatro

De la misma manera podéis numerarspan,div,p, o cualquier otro tipo de elemento con un determinado nombre y lo único que habría que tener en cuenta es lo de usar en el lugar adecuadocounter-reset,counter ycounter-increment.



Hay una cosa más y es que en elcontent se puede añadir texto y ciertos símbolos junto con el contador. De esa manera podremos insertar un espacio en blanco tras el número para evitar lo que nos pasó antes y que no salga tan pegado. También podemos meter en número entre paréntesis o añadir la palabra "Capítulo" con declaraciones como estas:

content: "(" counter(contadorlista) ") ";
...
content: "Capítulo " counter(contardorlista);


Y no sólo podemos poner números. Los estilos para el contador se pueden configurar desdecounter y sus valores coinciden con los que se pueden usar en listas ordenadas. Los más comunes son:

  • decimal: números decimales comenzando por el 1 (1, 2, 3, 4...)
  • decimal-leading-zero: idem pero con tantos ceros a la izquierda como sean necesarios para que todos tengan la misma cantidad de caracteres (para listas de entre 100 y 999 elementos sería: 001, 002, 003, 004... 099, 100, 101...)
  • lower-roman: números romanos en minúsculas (i, ii, iii, iv...)
  • upper-roman: idem en mayúsculas (I, II, III, IV...)
  • lower-latin: letras en minúsculas (a, b, c, d...)
  • upper-latin: idem en mayúsculas (A, B, C, D...)

El valor deseado habría que añadirlo con una coma tras el nombre que le dimos al contador:

content: counter(contadorlista, lower-latin);



Una vez que sabemos todo esto, ya es fácil darle estilo a la etiquetahr de manera que cada vez que añadamos una en una entrada, automáticamente incluya un ordinal como se puede ver en este mismo post (I a VI).

.post-body {
counter-reset: numeros;
}
.post-body hr {
height: 4px;
margin: 40px 0 20px;
border: 0;
text-align: center;
background: #999;
}
.post-body hr:after {
content: "Capítulo " counter(numeros, upper-roman);
counter-increment: numeros;
position: relative;
top: -8px;
padding: 4px 12px;
font-size: 12px;
color: #fff;
background: #999;
border-radius: 0;
}

Tras insertar lo anterior en nuestro CSS, cualquier separación horizontal (hr) que añadamos dentro de una entrada, nos aparecerá con un número generado automáticamente.

Lo suyo sería que probarais variaciones para usarlo con vuestras recetas, novelas, manuales de instrucciones, etc. y para ello, he preparado esteCodePen con algunas pequeñas variaciones sobre este. No olvidéis que igual que aquí lo utilizo conhr, se podría hacer igual con cualquier otra etiqueta o selector.

MESOTHELIOMA LAW FIRMDONATE CAR TO CHARITY CALIFORNIAHARDDRIVE DATA RECOVERY SERVICESDONATE A CAR IN MARYLAND DONATING A CAR IN MARYLAND,DONATE CARS ILLINOIS,CRIMINAL DEFENSE ATTORNEYS FLORIDA ,BEST CRIMINAL LAWYER IN ARIZONASTRUCTURED ANNUITY SETTLEMENT,ASBESTOS LAWYERS,NUNAVUT CULTURE,DAYTON FREIGHT LINES ,Bextra Bankruptcy Dental Plan Private Jet

MESOTHELIOMA LAW FIRMDONATE CAR TO CHARITY CALIFORNIAHARDDRIVE DATA RECOVERY SERVICESDONATE A CAR IN MARYLAND DONATING A CAR IN MARYLAND,DONATE CARS ILLINOIS,CRIMINAL DEFENSE ATTORNEYS FLORIDA ,BEST CRIMINAL LAWYER IN ARIZONASTRUCTURED ANNUITY SETTLEMENT,ASBESTOS LAWYERS,NUNAVUT CULTURE,DAYTON FREIGHT LINES ,Bextra Bankruptcy Dental Plan Private JetPero tuve que ser Mundial Football consolidating FIFA World Cup web host rating,register web address,online psychology degree,her first lesbian sex, make extra money ,make money fast and easy,addwords y mejor obtuve un credit application,visa gift carda,Mesothelioma law firm,voip phone service,Selling annuity payments for cash,Sell my structured settlement,Sell structured settlement,Structured settlement,Structured settlement companies,Sell my annuity payments lump sum,Car accident lawyer Denver,Accident injury attorneys,Sell my annuity

Donate Car To Charity CALIFORNIA DONATE CAR FOR TAX CREDITDONATE CARS IN MADONATE YOUR CAR SACRAMENTOHOW TO DONATE A CAR IN CALIFORNIA DONATE YOUR CAR FOR KIDS,CAR INSURANCE QUOTES COLORADO ,NUNAVUT CULTURE,DAYTON FREIGHT LINESHARDDRIVE DATA RECOVERY SERVICES,DONATE A CAR IN MARYLAND,MOTOR REPLACEMENTS,CHEAP DOMAIN REGISTRATION HOSTING,DONATING A CAR IN MARYLANDNos ofrece Mundial Football eloan com, FIFA World Cupuna gran variedad para contratar mesothelioma info y obtener un equity line of credit y una buena estructura de negocio SEO consolidate loans y visitar su casa matriz Mesothelioma law firm,home equity loans domain name searchSelling annuity payments for cash,Sell my structured settlement,Sell structured settlement,Structured settlement,Structured settlement companies,Sell my annuity payments lump sum,Car accident lawyer Denver,Accident injury attorneys,Sell my annuity

anti spam appliance WordPress themes for designers Best social media platforms Hire php programmers massage school dallas texas email bulk service Car Insurance Quotes Utah Cheap car insurance in Virginia dui lawyer scottsdale NEUSON car accident lawyers Make money online Australia domain name yahoo Dwi lawyer Dayton Freight Lines Online casino low credit line credit cards royalty free images stock refinance with bad credit World trade center footage DALLAS MESOTHELIOMA ATTORNEYS Social media campaigns Low credit line credit cards Best Criminal Lawyers in Arizona Casino business administration masters Bankruptcy lawyer Car Donate Virtual Data Rooms Neuson Casino reviews google adsense Online Criminal Justice Degree Best social media platforms for business Mobile casino Annuity Settlements Forex Trading Platform Insurance Hire php developers CHEAP CAR INSURANCE IN VIRGINIA Attorney Criminal Defense Attorneys Florida Live casino Social media platforms for business Criminal lawyer Better Conference Calls offshore accident lawyer Met auto HOME PHONE INTERNET BUNDLE Custom WordPress theme designer DUI lawyer Paperport Promotional Code Injury Lawyers small business administration sba PHD IN COUNSELING EDUCATION Christmas cards Asbestos Lawyers Life Insurance Co Lincoln new mexico mesothelioma lawyer Computer science classes online mesothelioma care Auto Mobile Insurance Quote Photo Christmas cards Cheap Auto Insurance in VA illinois law lemon CAR DONATE bowne virtual data room mesothelioma lawsuits NUNAVUT CULTURE Service business software World Trade Center Footage Criminal defense lawyer new york mesothelioma law firm Php programmers for hire Hire php developer Psd to html compare life assurance Home phone internet bundle Car Insurance Companies ONLINE COLLEDGES Php programmers mesothelioma lawyer dallas PSYCHIC FOR FREE EMAIL BULK SERVICE How to Donate A Car in California Seo companies houston mesothelioma attorney Mesothelioma Law Firm Social media tools webex costs cheap domain registration hosting Proud Italian cook Cheap Car Insurance in Virginia wisconsin mesothelioma attorney Donating a Car in Maryland Donate your Car for Money New social media platforms holland michigan college Futuristic architecture Best Seo company Nunavut culture DONATE YOUR CAR SACRAMENTO Business finance group BETTER CONFERENCING CALLS futuristic architecture Social media strategies Car Insurance Quotes PA Motor Replacements Cheap Car Insurance for Ladies donate car for tax credit criminal defense federal lawyer anti spam exchange server Seo services Hard drive data recovery services Business management software mesothelioma help personal injury lawyer Seo company Online Christmas cards Met Auto Custom Christmas cards earthlink business internet DONATE YOUR CAR FOR KIDS WordPress hosting Donate Your Car Sacramento Donate cars in ma Psd to WordPress Html email Social media examiner business voice mail service CHEAP DOMAIN REGISTRATION HOSTING Social media management Tech school canada personals yahoo Social media platforms car insurance quotes mn ONLINE MOTOR INSURANCE QUOTES Donate car for tax credit paperport promotional code Gas/Electricity WordPress theme designers WORLD TRADE CENTER FOOTAGE Home Phone Internet Bundle Italian cooking school Adobe illustrator classes Learning adobe illustrator mesothelioma attorney Donate your car for money Car insurance quotes Utah Online College Course accident attorney san bernardino Donate Car to Charity California mesotheioma structered settlement Donate Car for Tax Credit Car Accident Lawyers home phone internet bundle Donate Cars in MA sell structured settlement calculator Sell Annuity Payment MESOTHELIOMA LAW FIRM mesotheliama mesothelioma lawyer chicago Email Bulk Service Donate Your Car for Kids Structures Annuity Settlement phd in counseling education Car Insurance Quotes Colorado PhD in counseling education Nunavut Culture Hard drive Data Recovery Services Donate a Car in Maryland Cheap Domain Registration Hosting Car insurance in South Dakota Donate Cars Illinois Car Insurance Quotes structured settlement buyers Online colledges mesothelioma lawyers san diego Holland Michigan College car donate Online Motor Insurance Quotes Motor Insurance Quotes CAR INSURANCE QUOTES PA Online Colleges buying structured settlements buy gift card Online Classes STRUCTURED ANNUITY SETTLEMENT motor insurance quotes structured settlement brokers integrated ehr Massage School Dallas Texas Psychic for Free Donate Old Cars to Charity mesothelioma attorney illinois mesothelioma claims Low Credit Line Credit Cards Cheap domain registration hosting Criminal defense attorneys Florida asterisk call center software domain yahoo Dallas Mesothelioma Attorneys Car Insurance Quotes MN boca raton personal injury attorney mesothelioma lawyer california motorcycle accident lawyer san diego event management security Forensics Online Course Donating Used Cars to Charity