› Foros › PC › Software libre
<div id="abuelo">
<div id="padre">
<div id="hijo">hijo</div>
</div>
</div>
<div id="abuelo">abuelo</div>
<div id="padre">padre</div>
<div id="hijo">hijo</div>
Ganu escribió:Podrías explicar un poco más qué es lo que quieres hacer? Yo te digo casi con total seguridad que con CSS eso no se puede hacer, vamos a mi no se me ocurre cómo. Se puede hacer tanto con JS como con PHP, pero en mi opinión lo haría con PHP. Si explicas un poco lo que quieres hacer igual la cosa cambia, xD.
Espero que te ayude.
Saludos!
Fox escribió:No peques de querer dejar el código lo mejor posible (me pasa a mi también) porque a veces lo que para ti parece feísimo es lo que se hace siempre.
¿Para qué se usa JS? Para programación de lado de cliente. Qué podemos hacer ahí? pues modificar una página para darle dinamismo y entre esas cosas está mover divs de sitio. Vamos, que JS es la mejor opción para hacer lo que quieres.
// El codigo es orientativo
<! DOctipe blablabalaba>
<html>
<head></head>
<body>
<div id="contenedor"> vacio de este descenderan todos los divs el div padre </div>
<div id="encabezado"> encabezado con imagen blablabla </div>
<div id="menu"> menu con links </div>
<div id="contenido"> contenido de la web con divs dentro de este y informacion etc.. </div>
</body>
</html>
// Orientativo
<body>
<contenedor>
<encabezado></encabezado>
<menu></menu>
<contenido></contenido>
</contenedor>
</body>
// El codigo es orientativo
<! DOctipe blablabalaba>
<html>
<head></head>
<body>
<div id="contenedor">
<div id="encabezado"> encabezado con imagen blablabla </div>
<div id="menu"> menu con links </div>
<div id="contenido"> contenido de la web con divs y informacion etc </div>
</div>
</body>
</html>
Dahn II escribió:Lo que no entiendo es que digas que no se puede hacer con CSS, si precisamente su cometido es ese: cambiar el aspecto del HTML generado (y eso puede incluir también la colocación de los elementos).
Si necesitas que un bloque aparezca en un sitio u otro según X configuración, basta que juegues con el posicionamiento (relativo o absoluto), los márgenes, etc. Si lo que quieres hacer es demasiado complicado, quizá te puedas ayudar con JS, pero lo de usar PHP / JSP / XML me parece un completo disparate.
De todas maneras, decidas lo que decidas, te agradecería que lo posteases. Más que nada por ver si al final te has decidido por reinventar la rueda.
Un saludo.
// El codigo es orientativo
<! DOctipe blablabalaba>
<html>
<head></head>
<body>
<div id="contenedor">
<div id="encabezado"> encabezado con imagen blablabla </div>
<div id="menu"> menu con links </div>
<div id="contenido"> contenido de la web con divs y informacion etc </div>
</div>
</body>
</html>
si quitas la hoja de css pues todos saldrian al misme nivel y ningundo dentro de otro
RolerDib escribió:Yo lo que veo es que tienes un error de concepto en el diseño.
CSS es para mostrar la web, cierto. Pero es que la jerarquía (mejor que herencia, que es otra cosa ) la tienes que tener establecida en el HTML. Si pasado mañana quieres cambiar el diseño y para eso necesitas tocar el código, lo estás haciendo mal.
El último ejemplo que has puesto es válido. Pero luego dices ésto:si quitas la hoja de css pues todos saldrian al misme nivel y ningundo dentro de otro
Si quitas la CSS deben salir al mismo nivel, porque el encabezado es una cosa, el menú otra, y el contenido una tercera distinta. Cualquier otra manera de "jugar" con el HTML para que salga bonito... fail
No se si conocerás Zen Garden, pero es el máximo exponente de las virguerías que se pueden llegar a hacer en CSS.
<div id="container">
<div id="intro">
<div id="pageHeader">
<h1><span>css Zen Garden</span></h1>
<h2><span>The Beauty of <acronym title="Cascading Style Sheets">CSS</acronym> Design</span></h2>
</div>
<div id="quickSummary">
<p class="p1"><span>A demonstration of what can be accomplished visually through <acronym title="Cascading Style Sheets">CSS</acronym>-based design. Select any style sheet from the list to load it into this page.</span></p>
<p class="p2"><span>Download the sample <a href="/zengarden-sample.html" title="This page's source HTML code, not to be modified.">html file</a> and <a href="/zengarden-sample.css" title="This page's sample CSS, the file you may modify.">css file</a></span></p>
</div>
<div id="preamble">
<h3><span>The Road to Enlightenment</span></h3>
<p class="p1"><span>Littering a dark and dreary road lay the past relics of browser-specific tags, incompatible <acronym title="Document Object Model">DOM</acronym>s, and broken <acronym title="Cascading Style Sheets">CSS</acronym> support.</span></p>
<p class="p2"><span>Today, we must clear the mind of past practices. Web enlightenment has been achieved thanks to the tireless efforts of folk like the <acronym title="World Wide Web Consortium">W3C</acronym>, <acronym title="Web Standards Project">WaSP</acronym> and the major browser creators.</span></p>
<p class="p3"><span>The css Zen Garden invites you to relax and meditate on the important lessons of the masters. Begin to see with clarity. Learn to use the (yet to be) time-honored techniques in new and invigorating fashion. Become one with the web.</span></p>
</div>
</div>
<div id="supportingText">
<div id="explanation">
<h3><span>So What is This About?</span></h3>
<p class="p1"><span>There is clearly a need for <acronym title="Cascading Style Sheets">CSS</acronym> to be taken seriously by graphic artists. The Zen Garden aims to excite, inspire, and encourage participation. To begin, view some of the existing designs in the list. Clicking on any one will load the style sheet into this very page. The code remains the same, the only thing that has changed is the external .css file. Yes, really.</span></p>
<p class="p2"><span><acronym title="Cascading Style Sheets">CSS</acronym> allows complete and total control over the style of a hypertext document. The only way this can be illustrated in a way that gets people excited is by demonstrating what it can truly be, once the reins are placed in the hands of those able to create beauty from structure. To date, most examples of neat tricks and hacks have been demonstrated by structurists and coders. Designers have yet to make their mark. This needs to change.</span></p>
</div>
<div id="participation">
<h3><span>Participation</span></h3>
<p class="p1"><span>Graphic artists only please. You are modifying this page, so strong <acronym title="Cascading Style Sheets">CSS</acronym> skills are necessary, but the example files are commented well enough that even <acronym title="Cascading Style Sheets">CSS</acronym> novices can use them as starting points. Please see the <a href="http://www.mezzoblue.com/zengarden/resources/" title="A listing of CSS-related resources"><acronym title="Cascading Style Sheets">CSS</acronym> Resource Guide</a> for advanced tutorials and tips on working with <acronym title="Cascading Style Sheets">CSS</acronym>.</span></p>
<p class="p2"><span>You may modify the style sheet in any way you wish, but not the <acronym title="HyperText Markup Language">HTML</acronym>. This may seem daunting at first if you’ve never worked this way before, but follow the listed links to learn more, and use the sample files as a guide.</span></p>
<p class="p3"><span>Download the sample <a href="/zengarden-sample.html" title="This page's source HTML code, not to be modified.">html file</a> and <a href="/zengarden-sample.css" title="This page's sample CSS, the file you may modify.">css file</a> to work on a copy locally. Once you have completed your masterpiece (and please, don’t submit half-finished work) upload your .css file to a web server under your control. <a href="http://www.mezzoblue.com/zengarden/submit/" title="Use the contact form to send us your CSS file">Send us a link</a> to the file and if we choose to use it, we will spider the associated images. Final submissions will be placed on our server.</span></p>
</div>
<div id="benefits">
<h3><span>Benefits</span></h3>
<p class="p1"><span>Why participate? For recognition, inspiration, and a resource we can all refer to when making the case for <acronym title="Cascading Style Sheets">CSS</acronym>-based design. This is sorely needed, even today. More and more major sites are taking the leap, but not enough have. One day this gallery will be a historical curiosity; that day is not today.</span></p>
</div>
<div id="requirements">
<h3><span>Requirements</span></h3>
<p class="p1"><span>We would like to see as much <acronym title="Cascading Style Sheets, version 1">CSS1</acronym> as possible. <acronym title="Cascading Style Sheets, version 2">CSS2</acronym> should be limited to widely-supported elements only. The css Zen Garden is about functional, practical <acronym title="Cascading Style Sheets">CSS</acronym> and not the latest bleeding-edge tricks viewable by 2% of the browsing public. The only real requirement we have is that your <acronym title="Cascading Style Sheets">CSS</acronym> validates.</span></p>
<p class="p2"><span>Unfortunately, designing this way highlights the flaws in the various implementations of <acronym title="Cascading Style Sheets">CSS</acronym>. Different browsers display differently, even completely valid <acronym title="Cascading Style Sheets">CSS</acronym> at times, and this becomes maddening when a fix for one leads to breakage in another. View the <a href="http://www.mezzoblue.com/zengarden/resources/" title="A listing of CSS-related resources">Resources</a> page for information on some of the fixes available. Full browser compliance is still sometimes a pipe dream, and we do not expect you to come up with pixel-perfect code across every platform. But do test in as many as you can. If your design doesn’t work in at least IE5+/Win and Mozilla (run by over 90% of the population), chances are we won’t accept it.</span></p>
<p class="p3"><span>We ask that you submit original artwork. Please respect copyright laws. Please keep objectionable material to a minimum; tasteful nudity is acceptable, outright pornography will be rejected.</span></p>
<p class="p4"><span>This is a learning exercise as well as a demonstration. You retain full copyright on your graphics (with limited exceptions, see <a href="http://www.mezzoblue.com/zengarden/submit/guidelines/">submission guidelines</a>), but we ask you release your <acronym title="Cascading Style Sheets">CSS</acronym> under a Creative Commons license identical to the <a href="http://creativecommons.org/licenses/by-nc-sa/1.0/" title="View the Zen Garden's license information.">one on this site</a> so that others may learn from your work.</span></p>
<p class="p5"><span>Bandwidth graciously donated by <a href="http://www.mediatemple.net/">mediatemple</a>. Now available: <a href="http://www.amazon.com/exec/obidos/ASIN/0321303474/mezzoblue-20/">Zen Garden, the book</a>.</span> </p>
</div>
<div id="footer">
<a href="http://validator.w3.org/check/referer" title="Check the validity of this site’s XHTML">xhtml</a>
<a href="http://jigsaw.w3.org/css-validator/check/referer" title="Check the validity of this site’s CSS">css</a>
<a href="http://creativecommons.org/licenses/by-nc-sa/1.0/" title="View details of the license of this site, courtesy of Creative Commons.">cc</a>
<a href="http://mezzoblue.com/zengarden/faq/#s508" title="Read about the accessibility of this site">508</a>
<a href="http://www.mezzoblue.com/zengarden/faq/#aaa" title="Read about the accessibility of this site">aaa</a>
</div>
</div>
<div id="linkList">
<div id="linkList2">
<div id="lselect">
<h3 class="select"><span>Select a Design:</span></h3>
<ul>
<li><a href="?cssfile=/213/213.css&page=0" title="AccessKey: a" accesskey="a">Under the Sea!</a> by <a href="http://www.ericstoltz.com/" class="c">Eric Stoltz</a></li>
<li><a href="?cssfile=/212/212.css&page=0" title="AccessKey: b" accesskey="b">Make ’em Proud</a> by <a href="http://skybased.com/" class="c">Michael McAghon and Scotty Reifsnyder</a></li>
<li><a href="?cssfile=/211/211.css&page=0" title="AccessKey: c" accesskey="c">Orchid Beauty</a> by <a href="http://www.kevinaddison.com/" class="c">Kevin Addison</a></li>
<li><a href="?cssfile=/210/210.css&page=0" title="AccessKey: d" accesskey="d">Oceanscape</a> by <a href="http://www.pixel-house.com.au/" class="c">Justin Gray</a></li>
<li><a href="?cssfile=/209/209.css&page=0" title="AccessKey: e" accesskey="e">CSS Co., Ltd.</a> by <a href="http://www.benklemm.de/" class="c">Benjamin Klemm</a></li>
<li><a href="?cssfile=/208/208.css&page=0" title="AccessKey: f" accesskey="f">Sakura</a> by <a href="http://www.re-bloom.com/" class="c">Tatsuya Uchida</a></li>
<li><a href="?cssfile=/207/207.css&page=0" title="AccessKey: g" accesskey="g">Kyoto Forest</a> by <a href="http://rpmdesignfactory.com/" class="c">John Politowski</a></li>
<li><a href="?cssfile=/206/206.css&page=0" title="AccessKey: h" accesskey="h">A Walk in the Garden</a> by <a href="http://users.skynet.be/bk316398/temp.html" class="c">Simon Van Hauwermeiren</a></li>
</ul>
</div>
<div id="larchives">
<h3 class="archives"><span>Archives:</span></h3>
<ul>
<li><a href="/?cssfile=/001/001.css&page=1" title="View next set of designs. AccessKey: n" accesskey="n"><span class="accesskey">n</span>ext designs »</a></li>
<li><a href="http://www.mezzoblue.com/zengarden/alldesigns/" title="View every submission to the Zen Garden. AccessKey: w" accesskey="w">Vie<span class="accesskey">w</span> All Designs</a></li>
</ul>
</div>
<div id="lresources">
<h3 class="resources"><span>Resources:</span></h3>
<ul>
<li><a href="/001/001.css" title="View the source CSS file for the currently-viewed design, AccessKey: v" accesskey="v"><span class="accesskey">V</span>iew This Design’s <acronym title="Cascading Style Sheets">CSS</acronym></a></li> <li><a href="http://www.mezzoblue.com/zengarden/resources/" title="Links to great sites with information on using CSS. AccessKey: r" accesskey="r"><acronym title="Cascading Style Sheets">CSS</acronym> <span class="accesskey">R</span>esources</a></li>
<li><a href="http://www.mezzoblue.com/zengarden/faq/" title="A list of Frequently Asked Questions about the Zen Garden. AccessKey: q" accesskey="q"><acronym title="Frequently Asked Questions">FA<span class="accesskey">Q</span></acronym></a></li>
<li><a href="http://www.mezzoblue.com/zengarden/submit/" title="Send in your own CSS file. AccessKey: s" accesskey="s"><span class="accesskey">S</span>ubmit a Design</a></li>
<li><a href="http://www.mezzoblue.com/zengarden/translations/" title="View translated versions of this page. AccessKey: t" accesskey="t"><span class="accesskey">T</span>ranslations</a></li>
</ul>
</div>
</div>
</div>
</div>
Dahn II escribió:Ufff, ya te entiendo macho, pero no veas...
Dahn II escribió:A ver, lo primero: creo que te estás complicando demasiado. Usar JS para esto es una tontería, pues lo único que modificarías sería el DOM, pero el código recibido en principio sería el mismo (lo cual, según tu idea, sería incorrecto). Si el cliente quisiese ver el fuente, este seguiría "desordenado".
Dahn II escribió:PHP o JSP tampoco pintan nada aquí, ya que sería un pitote innecesario montar un sistema que escribiese una línea de código en un sitio u otro según el caso.
Dahn II escribió:Lo que tienes que hacer no es modificar un HTML dependiendo de la configuración, sino tener varios conjuntos de HTML+CSS para usar en base a ella. Más correcto y eficiente, porque de esa manera evitas el uso de archivos XML que definan la estructura de un HTML... cuando en realidad un HTML es eso mismo: estructura. ¿No suena un poco ilógico? Lo que pretendes es como definir una configuración que configure otro archivo de configuración... Keep it simple, amigo.
Los de Wordpress llevan años haciéndolo así y oye, creo que mal del todo no les va.
Un saludo.
klausus escribió:...
Una aplicacion web con 200 JSP/PHP y ahora quiero cambiar el diseño de la pagina radicalmente, afectando al DOM no solamente al CSS ¿Que hago modifico 200 documentos?, esque no termino de entender lo de varios conjuntos de "HTML+CSS".
Gracias.
<div id="container">
<div id="banner"><a href="http://wings3d.es"><img src="/imagenes/cabecera.png" alt="logo"/></a>Comunidad Española de Wings3D</div>
<div id='menu' class='transparencia redondeado'>cargamos el menú con una llamada</div>
<div id="lateral" class="transparencia redondeado">menu lateral con llamadas php y lo generas con el orden que quieras gracias al orden establecido en el html.
ej:
php include estadisticas
php include login
php include buttons
php include banners
</div>
<div id="content">por ejemplo cargamos noticias con una llamada</div>
<div id="footer" class="transparencia redondeado">pones lo que quieras</div>
</div>
klausus escribió:La idea es mas o menos esa crear themes/skin/layouts/template (como quieras llamarlos) similar como se hacer en Joomla, Wordpress, Drupal...
Que a partir de un fichero html con un dom y un css te rehubica todo el contenido de todos los php "dinamicos" sin modificar estos php, algo por esa vertiente mas o menos quiero tirar, pero desarrolarlo yo desde cero a modo de reto personal =3