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

    Regex per individuare un componente qualsiasi

    ciao!

    scusate il titolo fa schifo ma non so come rendere il problema.
    in pratica sto usando un componente che imposta una regola css che devo cambiare:
    codice:
    .ng2-pdf-viewer-container[_ngcontent-fyu-c241] {
        overflow-x: auto;
        position: absolute;
        height: 100%;
        width: 100%;
    }
    il problema è che ad ogni refresh della pagina la voce _ngcontent-fyu-c241 viene modificata con un valore random.
    è possibile impostare una regola di questo tipo?
    codice:
    .ng2-pdf-viewer-container[VALORE_QUALSIASI] {
        overflow-x: auto;
        position: absolute;
        height: 100%;
        width: 100%;
    }
    oppure in questi casi come si potrebbe fare??

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ciao, quello è un selettore per attributo, cioè quello che è scritto tra parentesi identifica il nome di un attributo html, per cui viene selezionato quell'elemento solo se possiede tale attributo.

    Questo tipo di selettore può essere usato con altri caratteri di comparazione (vedi documentazione) che però si applicano al valore dell'attributo, non al suo nome che invece deve essere esplicito.

    Ma ragionando in maniera logica: anche se per assurdo esistesse la possibilità di impostare "qualsiasi valore" (o meglio, "qualsiasi nome attributo") tra quelle parentesi, significa che l'elemento ".ng2-pdf-viewer-container" verrebbe selezionato se possiede almeno un qualsiasi attributo; quindi, dal momento che si tratta di una classe, va da se che l'elemento verrebbe sempre selezionato a prescindere dal valore tra parentesi perché il tag possiede per forza di cose l'attributo "class" che sarebbe compreso in quel "qualsiasi valore".

    A questo punto devi chiarire cosa esattamente ti interessa selezionare. Se vuoi selezionare quell'elemento a prescindere dal nome degli attributi che possiede, è sufficiente usare giusto il selettore classe, cioè:
    codice:
    .ng2-pdf-viewer-container {
        /*...*/
    }
    Se non è questo ciò che ti serve, prova a fornire maggiori dettagli e chiarire meglio il contesto, magari applicando una qualche combinazione di selettori potresti ottenere ciò che ti serve.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    ciao!

    grazie per la risposta.

    in pratica "la colpa" è di angular che imposta quell'attributo dimanico, e poi applica un css come indicato.
    alla fine ho risolto tramite typescript.
    in pratica mi vado a prendere il nome dell'attributo e poi gli imposto il css a "runtime":
    codice:
    pageInitialized(e) {
        const w = (document.querySelector('#col_pdf') as HTMLElement).offsetWidth;
        const h = (document.querySelector('.layout-content') as HTMLElement).offsetHeight - 50;
        const cont = e.source.container.attributes[0].localName;
        (document.querySelector('.ng2-pdf-viewer-container[' + cont + ']') as HTMLElement).style.width = w + 'px';
        (document.querySelector('.ng2-pdf-viewer-container[' + cont + ']') as HTMLElement).style.height = h + 'px';
    }
    non è bellissima come soluzione però non ho trovato altro modo.
    usare la regola solo su .ng2-pdf-viewer-container non funziona purtroppo, ci avevo già provato!

  4. #4
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Bene che tu sia riuscito a risolvere
    Buon proseguimento
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

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.