From 28367a3225e0402d50a7a0bda0e4d21cd9ef3f40 Mon Sep 17 00:00:00 2001
From: Cerdic <cedric@yterium.com>
Date: Sun, 10 Jun 2007 09:56:24 +0000
Subject: [PATCH] =?UTF-8?q?A=20force=20d'y=20aller=20par=20petit=20coup,?=
 =?UTF-8?q?=20la=20structure=20de=20la=20page=20en=20tableau=20ne=20tenait?=
 =?UTF-8?q?=20plus=20et=20le=20melange=20table/div=20float,relative,inline?=
 =?UTF-8?q?...=20provoquait=20des=20bugs=20insolubles=20dans=20IE=20On=20e?=
 =?UTF-8?q?vacue=20donc=20les=20tableaux=20de=20mise=20en=20page=20au=20pr?=
 =?UTF-8?q?ofit=20de=203=20blocs=20semantiques=20#navigation,=20#extra,=20?=
 =?UTF-8?q?#contenu,=20le=20tout=20dans=20un=20#conteneur.=20Un=20layout?=
 =?UTF-8?q?=20de=20type=20Gala=20aurait=20=C3=A9t=C3=A9=20plus=20robuste?=
 =?UTF-8?q?=20mais=20oblige=20=C3=A0=20r=C3=A9=C3=A9crire=20tous=20les=20e?=
 =?UTF-8?q?xec=20car=20necessite=20un=20ordre=20(contenu,=20navigation,=20?=
 =?UTF-8?q?extra)=20dans=20le=20html=20la=20ou=20on=20a=20actuellement=20(?=
 =?UTF-8?q?navigation,extra,contenu).=20A=20reserver=20donc=20pour=20SPIP?=
 =?UTF-8?q?=202=20le=20bien=20nomm=C3=A9.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On donne aussi un coup de balai la ou des balises etaient mal fermées et faisaient du coup exploser la page
Le tout a l'air de tenir dans FF et IE6, mais des bugs residuels ne sont pas exclus dans certains cas, à traiter quand on les rencontrera.
---
 dist/javascript/layer.js             | 42 +------------
 dist/style_prive.html                | 34 +++++++---
 ecrire/configuration/accueil.php     |  8 ++-
 ecrire/exec/accueil.php              |  7 ++-
 ecrire/exec/auteur_infos.php         | 10 ++-
 ecrire/exec/statistiques_visites.php |  2 +-
 ecrire/inc/auteur_infos.php          |  4 --
 ecrire/inc/commencer_page.php        |  6 +-
 ecrire/inc/dater.php                 |  8 +--
 ecrire/inc/layer.php                 |  9 +--
 ecrire/inc/message_select.php        |  8 ++-
 ecrire/inc/presentation.php          | 92 +++++++---------------------
 12 files changed, 81 insertions(+), 149 deletions(-)

diff --git a/dist/javascript/layer.js b/dist/javascript/layer.js
index b203ecf8be..740fa8c099 100644
--- a/dist/javascript/layer.js
+++ b/dist/javascript/layer.js
@@ -48,49 +48,11 @@ function toggleBouton(bouton,cible){
 	//alert(jQuery(bouton));
 	if (jQuery(bouton).is('.deplie')){
 		jQuery(bouton).addClass('replie').removeClass('deplie');
-		jQuery(cible).addClass('replie').removeClass('deplie');
+		jQuery(cible).slideUp('fast').addClass('blocreplie').removeClass('blocdeplie');
 	}
 	else if (jQuery(bouton).is('.replie')){
 		jQuery(bouton).addClass('deplie').removeClass('replie');
-		jQuery(cible).addClass('deplie').removeClass('replie');
-	}
-}
-
-function swap_couche(couche, rtl, dir, no_swap) {
-	var layer;
-	var triangle = document.getElementById('triangle' + couche);
-	if (!(layer = findObj('Layer' + couche))) return;
-	if (layer.style.display == "none"){
-		if (!no_swap && triangle) triangle.src = dir + 'deplierbas.gif';
-		layer.style.display = 'block';
-	} else {
-		if (!no_swap && triangle) triangle.src = dir + 'deplierhaut' + rtl + '.gif';
-		layer.style.display = 'none';
-	}
-}
-function ouvrir_couche(couche, rtl,dir) {
-	var layer;
-	var triangle = document.getElementById('triangle' + couche);
-	if (!(layer = findObj('Layer' + couche))) return;
-	if (triangle) triangle.src = dir + 'deplierbas.gif';
-	layer.style.display = 'block';
-}
-function fermer_couche(couche, rtl, dir) {
-	var layer;
-	var triangle = document.getElementById('triangle' + couche);
-	if (!(layer = findObj('Layer' + couche))) return;
-	if (triangle) triangle.src = dir + 'deplierhaut' + rtl + '.gif';
-	layer.style.display = 'none';
-}
-function manipuler_couches(action,rtl,first,last, dir) {
-	if (action=='ouvrir') {
-		for (j=first; j<=last; j+=1) {
-			ouvrir_couche(j,rtl, dir);
-		}
-	} else {
-		for (j=first; j<=last; j+=1) {
-			fermer_couche(j,rtl, dir);
-		}
+		jQuery(cible).slideDown('fast').addClass('blocdeplie').removeClass('blocreplie');
 	}
 }
 
diff --git a/dist/style_prive.html b/dist/style_prive.html
index 09b4c24909..301c3a929d 100644
--- a/dist/style_prive.html
+++ b/dist/style_prive.html
@@ -991,11 +991,8 @@ td.icone a img {
 * Cadre couleur foncee
 */
 
-.cadre-padding {
-	/*font-family: Verdana, Geneva, helvetica, sans;
-	font-size: 12px;*/
+.cadre_padding {
 	padding: 6px;
-	/*position: relative;*/
 }
 /*
 .cadre-titre {
@@ -1219,7 +1216,7 @@ div.liste,div.cadre-liste {
 	margin-bottom: 3px;
 	background:white;
 }
-div.cadre-liste .cadre-padding{padding:0;}
+div.cadre-liste .cadre_padding {padding:0;}
 div.cadre-liste .tranches{border-top:1px solid black;}
 
 	
@@ -1679,16 +1676,22 @@ a.ical {
 	background-repeat: no-repeat;
 	background-position: [(#ENV{ltr}|choixsiegal{left,left,right})] 6px;
 	padding-[(#ENV{ltr}|choixsiegal{left,left,right})]: 16px;
+
 	}
+
 .cadre-couleur-foncee .titrem {background-color:##ENV{couleur_foncee,3874b0};color:#fff;}
 .cadre-couleur-foncee .cadre .titrem {color:#000;}
 
 .cadre-trait-couleur .titrem {background-color:##ENV{couleur_foncee,3874b0};color:#fff;}
 .cadre-trait-couleur .cadre .titrem {background-color: #eee;color:#000;}
 
-.ajax-action {padding-top:1px;}
+.ajax-action {padding-top:1px;clear:both;position:relative;}
+
+.dater {position:relative;}
 .dater,.dater .titrem {background-color:##ENV{couleur_claire,edf3fe};}
-.dater .titrem.hover {background-color:##ENV{couleur_foncee,3874b0};}
+.dater .titrem {}
+.dater .hover {background-color:##ENV{couleur_foncee,3874b0};}
+
 #contenu .ajax-action .cadre .titrem {background-color:##ENV{couleur_claire,edf3fe};}
 #contenu .ajax-action .titrem.hover {background-color:##ENV{couleur_foncee,3874b0};}
 .mots_tous #contenu .titrem.impliable {background-color:##ENV{couleur_claire,edf3fe};}
@@ -1708,13 +1711,14 @@ a.ical {
 #navigation .titrem {text-align:center;}
 #extra .titrem {text-align:center;}
 
+
 /* Deplier / Replier */
 .replie { background-image: url(#EVAL{_DIR_IMG_PACK}wrapper.php?file=deplierhaut[(#ENV{ltr}|choixsiegal{left,'',_rtl})].gif); }
 .hover { background-color: ##ENV{couleur_claire,edf3fe}; }
 .deplie { background-image: url(#EVAL{_DIR_IMG_PACK}wrapper.php?file=deplierbas.gif); }
 .impliable {}
-.bloc_depliable.replie { display: none; }
-.bloc_depliable.deplie { display: block; background: none; }
+.blocreplie { display: none; }
+.blocdeplie { display: block; background: none; }
 
 td.pense-bete, a.pense-bete {
 	background: url(#EVAL{_DIR_IMG_PACK}wrapper.php?file=m_envoi_bleu[(#ENV{ltr}|choixsiegal{left,'',_rtl})].gif) center left no-repeat;
@@ -1730,3 +1734,15 @@ td.message, a.message {
 	background: url(#EVAL{_DIR_IMG_PACK}wrapper.php?file=m_envoi[(#ENV{ltr}|choixsiegal{left,'',_rtl})].gif) center left no-repeat;
 	padding-left: 10px;
 }
+
+/* ecran etroit*/
+#conteneur,.table_page {margin:0 auto;text-align:left;overflow:hidden;width:750px;}
+#navigation {float:left;width:200px;overflow:hidden;min-height:100px;}
+#contenu {float:left;overflow:hidden;margin-left:35px;width:500px;}
+#extra {float:left;overflow:hidden;width:200px;}
+
+/* ecran large*/
+.large #conteneur,.large .table_page {margin:0 auto;text-align:left;overflow:hidden;width:950px;}
+.large #navigation {float:left;width:200px;overflow:hidden;}
+.large #contenu {float:left;overflow:hidden;margin-left:17px;width:570px;}
+.large #extra {float:right;width:140px;overflow:hidden;}
diff --git a/ecrire/configuration/accueil.php b/ecrire/configuration/accueil.php
index 8f36085ece..29f163e160 100644
--- a/ecrire/configuration/accueil.php
+++ b/ecrire/configuration/accueil.php
@@ -45,9 +45,11 @@ function configuration_accueil_dist()
 {
 	$res = configuration_bloc_votre_site();
 
-	$res = debut_cadre_couleur("racine-site-24.gif", true)
-	. ajax_action_post('configurer', 'accueil', 'configuration','',$res)
-	. fin_cadre_couleur(true);
+	$res = 
+	debut_cadre_couleur("racine-site-24.gif", true).
+	ajax_action_post('configurer', 'accueil', 'configuration','',$res)
+	. fin_cadre_couleur(true)
+	;
 
 	return ajax_action_greffe('configurer-accueil','', $res);
 }
diff --git a/ecrire/exec/accueil.php b/ecrire/exec/accueil.php
index dc100ff6f0..9e44eea427 100644
--- a/ecrire/exec/accueil.php
+++ b/ecrire/exec/accueil.php
@@ -75,14 +75,17 @@ function encours_accueil()
 
 	if (!$res) return '';
 
-	return debut_cadre_couleur_foncee("",true, "", _T('texte_en_cours_validation'))
+	return 
+	"<div style='position:relative;display:inline;'>" 
+	. debut_cadre_couleur_foncee("",true, "", _T('texte_en_cours_validation'))
 	. $res
 	. "\n<div style='text-align: "
 	. $GLOBALS['spip_lang_right']
 	. ";'>"
 	. bouton_spip_rss('a-suivre',array())
 	. "</div>"
-	. fin_cadre_couleur_foncee(true);
+	. fin_cadre_couleur_foncee(true)
+	. "</div>";
 }
 
 //
diff --git a/ecrire/exec/auteur_infos.php b/ecrire/exec/auteur_infos.php
index 1471484516..9314c050e4 100644
--- a/ecrire/exec/auteur_infos.php
+++ b/ecrire/exec/auteur_infos.php
@@ -113,11 +113,9 @@ function exec_auteur_infos_dist() {
 						    'id_auteur'=>$id_auteur),
 				    'data'=>''));
 		
-		auteurs_interventions($auteur);
-		
-		echo fin_cadre_relief(true),
-			fin_gauche(),
-			fin_page();
+		echo fin_cadre_relief(true);
+		echo auteurs_interventions($auteur);
+		echo fin_gauche(), fin_page();
 /*	} */
 
 }
@@ -165,7 +163,7 @@ function auteurs_interventions($auteur) {
 
 	if ($id_auteur != $connect_id_auteur
 	    AND ($statut == '0minirezo' OR $statut == '1comite')) {
-		echo "<div>&nbsp;</div>";
+		echo "<div class='nettoyeur'>&nbsp;</div>";
 		debut_cadre_couleur();
 
 		$vus = array();
diff --git a/ecrire/exec/statistiques_visites.php b/ecrire/exec/statistiques_visites.php
index 1c81212124..36422d39b8 100644
--- a/ecrire/exec/statistiques_visites.php
+++ b/ecrire/exec/statistiques_visites.php
@@ -217,7 +217,6 @@ else {
 
 		echo "</div>";
 		echo "</div>";
-		echo "</div>";
 	}
 
 
@@ -248,6 +247,7 @@ else {
 		}
 		echo "</ol>";
 		echo "</div>";
+		echo "</div>";
 	}
 
 
diff --git a/ecrire/inc/auteur_infos.php b/ecrire/inc/auteur_infos.php
index e3f33d8df8..b863f2603f 100644
--- a/ecrire/inc/auteur_infos.php
+++ b/ecrire/inc/auteur_infos.php
@@ -244,10 +244,6 @@ function legender_auteur_saisir($auteur, $auteur_infos_voir, $bloc_statut, $redi
 	$arg = intval($id_auteur);
 	$ret .= generer_action_auteur('editer_auteur', $arg, $redirect, $corps, ' method="POST"');
 
-	$ret .= fin_cadre_relief(true)
-		. '</div>';
-
-
 	return $ret;
 }
 
diff --git a/ecrire/inc/commencer_page.php b/ecrire/inc/commencer_page.php
index 0a4ccf8878..19498e9d6a 100644
--- a/ecrire/inc/commencer_page.php
+++ b/ecrire/inc/commencer_page.php
@@ -23,12 +23,10 @@ function inc_commencer_page_dist($titre = "", $rubrique = "accueil", $sous_rubri
 	include_spip('inc/headers');
 
 	http_no_cache();
-  
-	if ($spip_ecran == "large") $largeur = 974; else $largeur = 750;
-  
+   
 	return init_entete($titre, $id_rubrique, $minipres)
 	. init_body($rubrique, $sous_rubrique, $id_rubrique,$menu)
-	. "<div id='page'>"
+	. "<div id='page' class='$spip_ecran'>"
 	. alertes_auteur()
 	. auteurs_recemment_connectes();
 }
diff --git a/ecrire/inc/dater.php b/ecrire/inc/dater.php
index cb75857762..fc0feaafca 100644
--- a/ecrire/inc/dater.php
+++ b/ecrire/inc/dater.php
@@ -108,7 +108,7 @@ onchange=\"findObj_forcer('valider_date').style.visibility='visible';\"";
 		.  "</b>";
 
 		$masque = 
- "<div style='float: $spip_lang_left; width: 80%;'>" .
+ "<div style=''>" .
  '<input type="radio" name="avec_redac" value="non" id="avec_redac_on"' .
  ($possedeDateRedac ? '' : ' checked="checked"') .
  " onclick=$js" .
@@ -129,16 +129,16 @@ onchange=\"findObj_forcer('valider_date').style.visibility='visible';\"";
  "</div></div>";
 
 
-		$masque =  "<div style='margin: 5px; margin-$spip_lang_left: 20px;position:relative;display:inline;'>" .
+		$masque =  "<div style='margin: 5px; margin-$spip_lang_left: 20px;'>" .
 		  ajax_action_post("dater", 
 				   "$id/$type",
 				   $script,
 				   "id_$type=$id",
 				   $masque,
 				   _T('bouton_changer'),
-				   " style='float: $spip_lang_right; margin-top: 20px;position:relative;display:inline;' class='fondo visible_au_chargement' id='valider_date_redac'", "",
+				   " style='float:$spip_lang_right;margin-top:-2em;position:relative;' class='fondo visible_au_chargement' id='valider_date_redac'", "",
 				   "&id=$id&type=$type")
-				   ."<br class='nettoyeur' />"
+				   ."<div class='nettoyeur' /></div>"
 		. '</div>';
 
 		$res .= block_parfois_visible('dateredac', $invite, $masque, 'text-align: left');
diff --git a/ecrire/inc/layer.php b/ecrire/inc/layer.php
index 2f377cd079..88f5889cdc 100644
--- a/ecrire/inc/layer.php
+++ b/ecrire/inc/layer.php
@@ -44,10 +44,10 @@ function block_parfois_visible($nom, $invite, $masque, $style='', $visible=false
 
 // http://doc.spip.org/@debut_block_depliable
 function debut_block_depliable($deplie,$id=""){
-	$class=' deplie';
+	$class=' blocdeplie';
 	// si on n'accepte pas js, ne pas fermer
 	if (_SPIP_AJAX AND !$deplie)
-		$class=" replie";
+		$class=" blocreplie";
 	return "<div ".($id?"id='$id' ":"")."class='bloc_depliable$class'>";	
 }
 // http://doc.spip.org/@fin_block
@@ -71,13 +71,13 @@ function bouton_block_depliable($texte,$deplie,$ids=""){
 	}
 	$extra_js = "";
 	if ($a = extraire_balise($texte,'a')){
-		$ar = inserer_attribut($a,'onclick','return false;',false);
 		$ar = inserer_attribut($a,'onclick','return false;',false);
 		$texte = str_replace($a,$ar,$texte);
 		$extra_js .= "\njQuery('#$bouton_id a').dblclick(function(){window.location.replace($(this).attr('href'));});";
 	}
 	if ($deplie==='incertain')
 		$extra_js .= "\nif (jQuery('$cible').is(':visible')) $('#$bouton_id').addClass('deplie').removeClass('replie');";
+	//$extra_js .= "\njQuery('#$bouton_id').hover(function(){jQuery(this).addClass('hover');},function(){jQuery(this).removeClass('hover');});";
 
 	return "<div "
 	  .($bouton_id?"id='$bouton_id' ":"")
@@ -85,7 +85,8 @@ function bouton_block_depliable($texte,$deplie,$ids=""){
 	  . (($deplie===-1)?"":
 	  " onclick=\"toggleBouton(jQuery(this),jQuery('$cible'));\""
 	  ." onmouseover=\"jQuery(this).addClass('hover');\""
-	  ." onmouseout=\"jQuery(this).removeClass('hover');\"")
+	  ." onmouseout=\"jQuery(this).removeClass('hover');\""
+	  )
 	  .">$texte</div>"
 	  . (strlen($extra_js)?"<script><!--
 	  jQuery(document).ready(function(){ $extra_js
diff --git a/ecrire/inc/message_select.php b/ecrire/inc/message_select.php
index 118ba86a30..d308fec783 100644
--- a/ecrire/inc/message_select.php
+++ b/ecrire/inc/message_select.php
@@ -39,8 +39,12 @@ function afficher_messages($titre, $from, $where, &$messages_vus, $afficher_aute
 		$messages_vus[$r]= $r;
 	}
 	
-	if (!$important) return $res;
-	else return "<div class='cadre-couleur'><div class='cadre-padding'>$res</div></div>";
+	if (!$important OR !strlen($res)) return $res;
+	else
+		return
+			debut_cadre_couleur('',true)
+			. $res
+			. fin_cadre_couleur(true);
 }
 
 // http://doc.spip.org/@afficher_message_boucles
diff --git a/ecrire/inc/presentation.php b/ecrire/inc/presentation.php
index d811765cc1..b838e0fb9f 100644
--- a/ecrire/inc/presentation.php
+++ b/ecrire/inc/presentation.php
@@ -86,14 +86,15 @@ function debut_cadre($style, $icone = "", $fonction = "", $titre = "") {
 	
 	return $ret
 	 //. "</div>\n"
-	."<div class='cadre-padding' style='overflow:hidden'>"
+	."<div class='cadre_padding'>"
 	;
 }
 
 // http://doc.spip.org/@fin_cadre
 function fin_cadre($style='') {
 
-	$ret = "</div></div>\n";
+	$ret = "</div><div class='nettoyeur'></div>".
+	"</div>\n";
 
 	/*if ($style != "forum" AND $style != "thread-forum")
 		$ret .= "<div style='height: 5px;'></div>\n";*/
@@ -1046,11 +1047,7 @@ function gros_titre($titre, $ze_logo='', $aff=true){
 
 // http://doc.spip.org/@debut_grand_cadre
 function debut_grand_cadre($return=false){
-	global $spip_ecran;
-	
-	if ($spip_ecran == "large") $largeur = 974;
-	else $largeur = 750;
-	$res =  "\n<br /><br />\n<div class='table_page' style='width:${largeur}px;'>\n";
+	$res =  "\n<br /><br />\n<div class='table_page'>\n";
 	if ($return) return $res; else echo $res;
 }
 
@@ -1084,25 +1081,13 @@ function fin_cadre_formulaire($return=false){
 // http://doc.spip.org/@debut_gauche
 function debut_gauche($rubrique = "accueil", $return=false) {
 	global $spip_display;
-	global $spip_ecran;
-
-	// Ecran panoramique ?
-	if ($spip_ecran == "large") {
-		$largeur_ecran = 974;
-		$rspan = " rowspan='2'";
-	}
-	else {
-		$largeur_ecran = 750;
-		$rspan = '';
-	}
+	global $spip_ecran, $spip_lang_rtl, $spip_lang_left;
 
-	// table fermee par fin_gauche()
+	// div conteneur fermee par fin_gauche()
 	// div fermee par debut_droite() ou creer_colonne_droite
 
-	$res = "<br /><table class='table_page' width='$largeur_ecran' cellpadding='0' cellspacing='0' border='0'>
-		<tr>\n<td style='width: 200px' class='colonne_etroite serif' valign='top' $rspan>
-		\n<div id='navigation' style='width: 200px; overflow:hidden;'>
-\n";
+	$res = "<br /><div id='conteneur'>
+		\n<div id='navigation'>\n";
 		
 	if ($spip_display == 4) $res .= "<!-- ";
 
@@ -1112,7 +1097,7 @@ function debut_gauche($rubrique = "accueil", $return=false) {
 // http://doc.spip.org/@fin_gauche
 function fin_gauche()
 {
-	return "</td></tr></table>";
+	return "</div><br class='nettoyeur' />";
 }
 
 //
@@ -1127,26 +1112,7 @@ function creer_colonne_droite($rubrique="", $return= false){
 	if ((!($spip_ecran == "large")) OR $deja_colonne_droite) return '';
 	$deja_colonne_droite = true;
 
-	if  (formulaire_large()) {
-			$espacement = 17;
-			$largeur = 140;
-	} else {
-			$espacement = 37;
-			$largeur = 200;
-	}
-
-	$res = "\n</div></td><td style='width: "
-	.  $espacement
-	.  "px' rowspan='2' class='colonne_etroite'>&nbsp;</td>"
-	. "\n<td rowspan='1' class='colonne_etroite'></td>"
-	. "\n<td style='width: "
-	.  $espacement
-	.  "px ' rowspan='2' class='colonne_etroite'>&nbsp;</td>"
-	. "\n<td style='width: "
-	. $largeur 
-	. "px' rowspan='2' align='"
-	. $spip_lang_left
-	. "' valign='top' class='colonne_etroite'><div id='extra' style='width:$largeur'>";
+	$res = "\n</div><div id='extra'>";
 
 	if ($return) return $res; else echo $res;
 }
@@ -1167,20 +1133,10 @@ function debut_droite($rubrique="", $return= false) {
 
 	$res .= liste_articles_bloques();
 
-	if ($spip_ecran != "large") {
-		$res .= "</div></td><td style='width: 50px'>&nbsp;</td>";
-	}
-	else {
-		$res .= creer_colonne_droite($rubrique, true)
-		. "</div></td></tr>\n<tr>";
-	}
+	$res .= creer_colonne_droite($rubrique, true)
+	. "</div>";
 
-	if ($spip_ecran == 'large' AND formulaire_large())
-		$largeur = 600;
-	else
-		$largeur = 500;
-
-	$res .= "\n<td id='contenu' style='width:" . $largeur. "px' valign='top' align='" . $spip_lang_left."' rowspan='1' class='serif'>";
+	$res .= "\n<div id='contenu' class='serif'>";
 
 	// touche d'acces rapide au debut du contenu : z
 	// Attention avant c'etait 's' mais c'est incompatible avec
@@ -1525,7 +1481,7 @@ function sous_enfant_rub($collection2){
 
 // http://doc.spip.org/@afficher_enfant_rub
 function afficher_enfant_rub($id_rubrique, $bouton=false, $return=false) {
-	global  $spip_lang_right, $spip_display;
+	global  $spip_lang_left,$spip_lang_right, $spip_display;
 	
 	$les_enfants = enfant_rub($id_rubrique);
 	$n = strlen($les_enfants);
@@ -1542,26 +1498,22 @@ function afficher_enfant_rub($id_rubrique, $bouton=false, $return=false) {
 	}
 
 	$res = "\n<div>&nbsp;</div>"
-	. "\n<table cellpadding='0' cellspacing='0' border='0' width='100%'>"
-	. "\n<tr><td style='width: 50%' valign='top' rowspan='2'>"
+	. "<div style='float:$spip_lang_left;width:49%;position:relative;'>"
 	. $les_enfants
-	. "</td>\n<td style='width: 20px;' rowspan='2'>"
-	. http_img_pack("rien.gif", ' ', "width='20'")
-	. "</td>"
-	. "\n<td style='width: 50%' valign='top'>"
+	. "</div>"
+	. "<div style='float:$spip_lang_right;width:49%;position:relative;'>"
 	. $les_enfants2
+	. "</div>"
 	. "&nbsp;"
-	. "</td></tr>"
-	. "\n<tr><td style='text-align: "
-	. $spip_lang_right
-	. ";' valign='bottom'>\n<div style='float:"
+	. "<div style='float:"
 	. $spip_lang_right
-	. "'>"
+	. ";position:relative;'>"
 	. (!$bouton ? ''
 		 : (!$id_rubrique
 		    ? icone(_T('icone_creer_rubrique'), generer_url_ecrire("rubriques_edit","new=oui&retour=nav"), "secteur-24.gif", "creer.gif",$spip_lang_right, false)
 		    : icone(_T('icone_creer_sous_rubrique'), generer_url_ecrire("rubriques_edit","new=oui&retour=nav&id_parent=$id_rubrique"), "rubrique-24.gif", "creer.gif",$spip_lang_right,false)))
-	. "</div></td></tr></table>";
+	. "</div>"
+	. "<br class='nettoyeur' />";
 
 	if ($return) return $res; else echo $res;
 }
-- 
GitLab