• User Attivo

    Validazione CSS

    Ciao a tutti,

    ho un problemino di validazione del CSS, che fa parte di un CMS non sviluppato da me. Ecco gli errori restituiti dal tool di validazione:

    http://jigsaw.w3.org/css-validator/validator?uri=http://www.siti-web-design.com/

    e si riferiscono a queste porzioni di codice:

    #TB_overlay {
    	position: absolute;
    	z-index:100;
    	top: 0px;
    	left: 0px;
    	background-color:#000;
    	filter:alpha(opacity=60);
    	-moz-opacity: 0.6;
    	opacity: 0.6;
    }
    
    .
    .
    .
    
    #TB_HideSelect{
    	z-index:99;
    	position:absolute;
    	top: 0;
    	left: 0;
    	background-color:#fff;
    	border:none;
    	filter:alpha(opacity=0);
    	-moz-opacity: 0;
    	opacity: 0;
    }
    

    Qualcuno sa darmi una mano? Rimuovendo le righe incriminate non trovo variazioni nel layout, il sito è Siti Web Design, perchè probabilmente si tratta di un mambot che non sto utilizzando, però sarebbe molto meglio "sistemare" che "rimuovere", che ne dite?


  • Community Manager

    Ti sposto 😉


  • User Attivo

    @glanzetta said:

    Qualcuno sa darmi una mano? Rimuovendo le righe incriminate non trovo variazioni nel layout, il sito è Siti Web Design, perchè probabilmente si tratta di un mambot che non sto utilizzando, però sarebbe molto meglio "sistemare" che "rimuovere", che ne dite?

    Premetto che conosco joomla solo superficialmente e non so esattamente a che modulo, mambots o altro si riferisca quel foglio di stile, anche se dal nome forse riguarda una galleria fotografica o qualcosa del genere.

    Gli errori sono abbastanza chiari: eliminali perché non "sono standard"

    40 #TB_overlay Parse Error - opacity=60)
    41 La proprietà -moz-opacity non esiste : 0.6
    42 La proprietà opacity non esiste : 0.6
    121 #TB_HideSelect Parse Error - opacity=0)
    122 La proprietà -moz-opacity non esiste : 0
    123 La proprietà opacity non esiste : 0
    131 #TB_iframeContent La proprietà _margin-bottom non esiste : 1px


  • User Attivo

    Ragazzi nuovo aggiornamento. Non so come mai ma gli errori riportati precedentemente sono svaniti...

    Rimangono 2 segnalazioni dovuti alla stesso errore:

     Below are the results of checking this document for XML well-formedness and validity.
    
       1. Error Line 45 column 119: duplicate specification of attribute "id".
    
          ...id="active_menu-nav" title="Home" id="active_menu-nav" >Home</a></li><li><a h
    
          You have specified an attribute more than once. For instance, you have used the "height" attribute twice on the same "img" tag.
    
          
       2. Error Line 45 column 120: ID "active_menu-nav" already defined.
    
          ...d="active_menu-nav" title="Home" id="active_menu-nav" >Home</a></li><li><a hr
    
          An "id" is a unique identifier. Each time this attribute is used in a document it must have a different value. If you are using this attribute as a hook for style sheets it may be more appropriate to use classes (which group elements) than id (which are used to identify exactly one element).
    
    

    In pratica da qualche parte il file che definisce e carica il topmenu specifica per 2 volte l'id del CSS, come posso fare in modo che la scriva 1 volta sola??

    Grazie


  • User Attivo

    semplicemente modificando il codice del modulo che genera il menù...


  • User Attivo

    @Elvino said:

    semplicemente modificando il codice del modulo che genera il menù...

    Ovvio, il problema è che non riesco a trovare dove sia il problema. Postando il codice del file che definisce il menu pensi che qualcuno sappia darmi una mano?


  • User Attivo

    prova, oppure duplica il file incriminato e rinominalo in txt e metti il percorso per poterlo scaricare...


  • User Attivo

    Mi sono accorto che il doppio id viene dichiarato solo nei tasti "attivi", quindi, a meno di altre dichiarazioni sfuggitemi, la porzione di codice incriminata è la seguente, presa dal file mod_mainmenu

    // Active Menu highlighting
    		$current_itemid = $Itemid;
    		if ( !$current_itemid ) {
    			$id = '';
    		} else if ( $current_itemid == $mitem->id ) {
    			$id = 'id="active_menu'. $params->get( 'class_sfx' ) .'"';
    		} else if( $params->get( 'activate_parent' ) && isset( $open ) && in_array( $mitem->id, $open ) )  {
    			$id = 'id="active_menu'. $params->get( 'class_sfx' ) .'"';
    		} else {
    			$id = '';
    		}
    
    		if ( $params->get( 'full_active_id' ) ) {
    			// support for `active_menu` of 'Link - Component Item'	
    			if ( $id == '' && $mitem->type == 'component_item_link' ) {
    				parse_str( $mitem->link, $url );
    				if ( $url['Itemid'] == $current_itemid ) {
    					$id = 'id="active_menu'. $params->get( 'class_sfx' ) .'"';
    				}
    			}
    			
    			// support for `active_menu` of 'Link - Url' if link is relative
    			if ( $id == '' && $mitem->type == 'url' && strpos( 'http', $mitem->link ) === false) {
    				parse_str( $mitem->link, $url );
    				if ( isset( $url['Itemid'] ) ) {
    					if ( $url['Itemid'] == $current_itemid ) {
    						$id = 'id="active_menu'. $params->get( 'class_sfx' ) .'"';
    					}
    				}
    			}
    		}
    

    In ogni caso ho preparato, come giustamente mi consigli te, il file .txt del file che penso causi l'errore, eccolo qui:

    [url=http://www.siti-web-design.com/mod_mainmenu.txt]Vedi.txt
    [url=http://www.siti-web-design.com/mod_mainmenu.zip]Scarica.zip


  • User Attivo

    penso sia questo ( linee 132 - 134 😞
    [PHP]
    // open in parent window
    $txt = '<a href="'. $mitem->link .'" class="'. $menuclass .'" '. $id .' title="'. $mitem->name .'" '. $id .' >'. $mitem->name.'</a>';
    break;
    [/PHP]

    ci sono 2 variabili $id ...


  • User Attivo

    Colpito ed affondato!!!

    Grazie 😉