Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Definire proprietà css

    Ciao a tutti.

    Ho scoperto da poco che si può usare PHP anche all'interno di fogli di stile (non ci avevo mai pensato!) ...e mi servirebbe un aiutino.

    Ho una specie di blog in cui posso scrivere post formattabili col BBcode. Ho esteso quest'ultimo implementando una funzione che mi permette di impostare l'allineamento delle immagini a destra.

    Faccio un esempio così mi capite al volo:

    codice:
    [img = right] http://link immagine.jpg [ /img ]
    In questo modo l'immagine si allinea a destra. (omettendo "=right" si allinea a sinistra di default)

    Il mio problema è che vorrei impostare un margine diverso a seconda che l'immagine si trovi allineata a destra o a sinistra; ho pensato di usare quindi PHP dentro al CSS.

    Entrando nello specifico, vorrei che:

    Se l'immagine ha l'attributo style="float:right", allora
    dagli l'attributo style="margin: 15px 0px 15px 20px";
    altrimenti dagli l'attributo style="margin: 15px 20px 15px 0px".

    Come posso realizzare questa cosa in PHP?

    In genere uso javascript per impostare dinamicamente un attributo css a un elemento, ma come faccio (in php) a controllare se un dato elemento ha quel dato attributo?

    Grazie

  2. #2
    Non puoi semplicemente creare una classe nel foglio di stile tipo
    codice:
    .img-right {
    	float: right;
    	margin: 15px 0px 15px 20px;
    }
    ed assegnare quella classe all'immagine con l'opzione "=right" invece di definire lo stile inline?

  3. #3
    Purtroppo non è così semplice come sembra... dovrei cambiare lo stile conoscendo a priori se l'utente ha scelto di allineare l'immagine a destra o a sinistra. Comunque devo ringraziarti perché mi hai fatto venire un lampo di genio!

    Praticamente ho creato 2 classi nel css:

    codice:
    .newsContent .message .img-left {
    	border-style:none;
    	margin: 15px 20px 15px 0px;
    	float:left;
    }
    
    .newsContent .message .img-right {
    	border-style:none;
    	margin: 15px 0px 15px 20px;
    	float:right;	
    }
    Poi su functions.php (il file dove tengo tutte le configurazioni del BBcode) ho cambiato il codice html che deve restituire [img = left/right], in questo modo:

    Codice PHP:
    $codes['html'][] = '[img]$2[/img]'
    $1 può contenere solo i valori "left" o "right"... e con questo ho detto tutto

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.