E 'possibile creare uno div
50px inferiore al 100% in puro CSS? Voglio che lo <div>
sia solo 50px in meno del 100%. Non voglio alcun JavaScript.È possibile fare un div 50px inferiore al 100% in CSS3?
risposta
Sì, è possibile. Senza utilizzare IE expression()
, è possibile farlo in CSS3 utilizzando calc()
.
div {
width: 100%;
width: -webkit-calc(100% - 50px);
width: -moz-calc(100% - 50px);
width: calc(100% - 50px);
}
Demo: http://jsfiddle.net/thirtydot/Nw3yd/66/
Questo renderà la vostra vita molto più facile. Esso è attualmente supportato nelle 3 principali browser: Firefox, Google Chrome (WebKit), e IE9: http://caniuse.com/calc
I problemi sono a) la domanda non era chiara su larghezza vs. altezza eb) l'auto-risposta non è la migliore risposta. Per la larghezza, sandeep's è migliore, per altezza, gilly3's. La risposta dell'OP non è supportata su alcune statistiche importanti del browser oggi. (IE7/8) – shannon
BTW: La versione non prefissata dovrebbe andare dopo la versione prefissata, non prima. Vedi https://developer.mozilla.org/Writing_Forward_Compatible_Websites Inoltre, secondo la mia esperienza, molte situazioni calc() possono essere sostituite da "dimensionamento della scatola". – luiscubal
"expression()" causa problemi, poiché il browser ricalcola le funzioni (all'interno delle espressioni) su ciascun pixel del movimento del mouse, impatta negli usi del processore. E in questo caso (con calc) questo succede? – 19WAS85
Un DIV prende automaticamente la larghezza del suo genitore. Quindi non è necessario definire alcun width
. Normalmente sarebbe sufficiente scrivere in questo modo:
div{
margin-right:50px;
}
Verifica questo fiddle
Cosa ne pensi di [this] (http://jsfiddle.net/Nw3yd/3/) rispetto a [this] (http://jsfiddle.net/Nw3yd/4/)? – Chango
@Chango - [That] (http://jsfiddle.net/Nw3yd/4/) è semplicemente fantastico quando ridimensionate la finestra. –
@Chango potrebbe essere quello che vuoi ottenere http://jsfiddle.net/Nw3yd/6/ – sandeep
Un'altra alternativa è il posizionamento assoluto.
div {
position: absolute;
left: 0;
right: 50px;
}
Ma, la soluzione di Sandeep è quello che si dovrebbe normalmente usare. Basta evitare l'uso eccessivo di float
. Ciò impedisce agli elementi di riempire naturalmente il loro contenitore.
Sì possiamo farlo facendo
#custom_div{
width:100%;
margin-right:50px;
}
Grazie
perché si definisce la larghezza: auto; – sandeep
Questa è la stessa risposta di sandeep, oltre a 'width: auto;', che non ha alcun effetto. La tua risposta non aggiunge alcun valore. Invece di postare la tua versione della risposta di sandeep, dovresti aver aumentato la risposta di sandeep. –
La mia soluzione funziona con e senza float: left
.
HTML:
<div></div>
css:
div {
height: 20px;
background: black;
float: left;
width: 100%;
padding-right: 50px;
box-sizing: border-box;
background-clip: content-box;
}
Compatibilità:
Firefox 3.6, Safari 5, Chrome 6, Opera 10, IE 9
I div nel tuo metodo occupano ancora tutta la larghezza dello schermo, quindi se ne metti due non puoi renderli mobili l'uno accanto all'altro. – Chango
Utilizzo del display block
e margin
. display:block
quando non combinato con un numero definito height
/width
proverà a riempire il suo genitore.
header {
width:100%;
background:#d0d0d0;
height:100%;
}
h1 {
display:block;
border:#000 solid 1px;
margin:0 50px 0 0;
height:100px;
}
<header>
<h1></h1>
</header>
- 1. CSS: è possibile ottenere un div che è al 100% di altezza, meno un margine superiore e inferiore?
- 2. tinyMCE - È possibile configurare un'altezza dell'editor inferiore a 100 px?
- 3. Div bambino al 100% altezza al genitore altezza automatica
- 4. È possibile rendere jqGrid allungato al 100%?
- 5. Altezza CSS3: calc (100%) non funziona
- 6. Come animare un div con CSS3
- 7. div larghezza 100% + 10px: relativo al genitore?
- 8. È possibile creare un bordo sfumato su un CERCHIO con css3?
- 9. Crea contenuto scorrevole per un div altezza fissa al 100%
- 10. Aggiungere un bordo inferiore ad un div
- 11. E 'sicuro al 100% fare quanto segue?
- 12. css3 tradurre in percentuale
- 13. Div 100% altezza scroll
- 14. CSS 100% altezza Div
- 15. CSS3 Colonne Split Mid-div
- 16. 2 div allineati uno accanto all'altro, come fare a destra div div larghezza del 100%?
- 17. è possibile aggiungere un div all'interno dell'elemento svg
- 18. Nascondi div dopo l'animazione CSS3
- 19. Come fare un Allinea al centro div in HTML
- 20. Altezza div di nidificazione CSS 100%
- 21. Un codice coperto può avere un indice di copertura EclEmma inferiore al 100%?
- 22. div larghezza che si regola al 100% se un'altra div è nascosta
- 23. fare iscroll al lavoro quando si carica dinamicamente un div
- 24. È possibile ottenere un puntatore al byte inferiore in modo indipendente dall'endian?
- 25. CSS div 100% altezza
- 26. Come rendere div 100% di altezza rispetto al genitore?
- 27. altezza 100% div
- 28. 100% per più div
- 29. Come fare un div octogonal?
- 30. È possibile utilizzare css3 translateZ() anziché z-index?
@hakre - Il tuo collegamento è in CSS, e questo è in CSS3. –
come è CSS non CSS3 non CSS non CSS3 non CSS non ...?Se chiedi esplicitamente una funzione CSS che è stata formulata solo nella versione 3, ti preghiamo di richiederla (non CSS in generale - sì la tua domanda corpo è diversa dal suo titolo qui, quindi non incolpare me;)) – hakre
Dai un'occhiata al corpo sotto il titolo della domanda. Dovresti usare il corpo per rendere esplicita la domanda CSS3 (e mentre stiamo parlando per favore dì se CSS3 o CSS3 +) – hakre