Stai chiedendo di modificare la visualizzazione di parti della pagina in base ad eventi della pagina.
In questo i CSS da soli non sono sufficienti. Hai necessita` di JS che modifichi il CSS di una zona in modo che diventi visibile/invisibile.
Pero` e` tutto coidce che si realizza lato client, quindi se posti codice, devi postarlo come arriva al borwser, non il sorgente PHP, che tra l'altro nasconde il contenuto HTML/CSS
Uno schema possibile e`:
codice:
<form ...>
<fieldset id="fondamentale">
... qui i campi sempre presenti, tipo la tua select ...
</fieldset>
<fieldset id="eventoA">
... qui i campi visibili in una condizione ...
</fieldset>
<fieldset id="eventoB">
... qui i campi visibili nell'altra condizione ...
</filedset>
</form>
I CSS dovranno definire la visibilita` di default di tutti i fieldset (altrimenti che non ha JS attivo non avra` la possibilita` di completare il form)
Il JS poi potra` modificare la visibilita` o meno dei fieldset:
all'evento onload:
document.getElementById('eventoA').style.display = 'none';
document.getElementById('eventoB').style.display = 'none';
Mentre all'evento di modifica della select, dovrai imporre:
document.getElementById('eventoA').style.display = 'block';
e/o:
document.getElementById('eventoB').style.display = 'block';
Per la parte del codice JS (come rilevare il valore della select), sposto nel forum JS.