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

    Position absolut e cambio di dimensioni

    Buongiorno a tutti ho uno schema costituito da molti elementi (div) posizionati tramite il position absolute es:

    .block1 {
    height:90px;
    width:60px;
    position: absolute;
    top: 45px;
    left: 50px;
    border: 2px solid #000;
    overflow:hidden;
    }

    mi é stato chiesto di fare in modo che quando un elemento é selezionato cambi il colore e la dimensione del bordo:

    .selected {
    border: 4px solid #19BAE0;
    }

    il problema é che aumentando le dimensioni del bordo aumentano anche le dimensioni complessive dell'elemento e rimanendo fisse le coordinate top: 45px; left: 50px; finisce con il risultare di 4 px spostato verso il basso e verso destra rispetto agli altri elementi con cui é allineato.

    Se si trattasse di un singolo elemento da gestire inserirei le nuove indicazioni top: 43px; left: 47px; nella classe select e avrei risolto.
    Il problema é che la classe select la devo poter utilizzare su tutti gli elementi dello schema che sono tanti.
    Si può utilizzare la funzione calc(); o un'altra funzione per indicare nella classe .selected di riposizionare l'elemento partendo dalla posizione precedente - 2px?

    Ho cercato degli esempi ma non sono riuscita a trovarli.
    Mi sapete dare delle indicazioni in merito per favore?
    Grazie mille per l'attenzione.
    Ultima modifica di Drusilla99; 07-08-2024 a 10:45

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,723
    Ciao, una soluzione alternativa al border può essere outline.
    La proprietà outline non influisce sulle dimensioni effettive dell'elemento ma ha alcuni limiti, ad esempio non puoi impostare differenti dimensioni per ciascun lato. Nel tuo caso, in base al tuo esempio, potrebbe comunque andare bene.
    Prova quindi a sostituire border con outline. Per maggiori dettagli vedi la documentazione online.

    Prova e fai sapere se una soluzione del genere può andare bene.
    Buon proseguimento.


    EDIT:
    Eventualmente, se la posizione degli elementi è già stata calcolata per avere come base 2px di bordo, puoi applicare ulteriori 2px di outline solo per .selected, impostando gli stessi valori del border.
    Fai qualche prova e fai sapere.
    Ultima modifica di KillerWorm; 07-08-2024 a 22:34
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    MITICO!!!!
    Soluzione semplice ed efficace, grazie mille!!

Tag per questa discussione

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 © 2024 vBulletin Solutions, Inc. All rights reserved.