2015-05-23 24 views
12

Bunu Firefox, Chrome, IE 11'in en son sürümlerinde denedim. Bu tarayıcılardan hiçbiri, CSS calc() işlevini, örn. width. Görebildiğim kadarıyla düzgün uyguladım. Başvuru için Neden bu olmuyorNeden CSS calc (% 100 -250px) çalışmıyor?

http://www.sitepoint.com/css3-calc-function/

kontrol etmek isteyebilirsiniz?

div { 
 
    background-color: blue; 
 
    height: 50px; 
 
    width: calc(100%-250px); 
 
}
<div></div>

Demos:

http://codepen.io/anon/pen/wazZWm

http://jsfiddle.net/h5mzcow1/

Düzenleme:

Evet, bu soru birçok düzenleme sırasında bir çoğaltma haline geldi, ancak hala bunun burada kalması gerektiğini düşünüyorum, çünkü bu sorun örneğin CSS calc() not working'dan daha iyi gösteriyor. Ayrıca, imho çok daha iyi. Eğer düzgün çalışması için sırayla + veya - operatör arasına boşlukkoymak zorunda çünkü

+0

Evet, (başlangıçta ben jsfiddle ve codepen gibi çevrimiçi kodu editörler çalışmıyor varsayarak) birkaç düzenleme sonrasında yinelenen olduğu ortaya çıktı, ama bunun daha iyi bir formatlanmış cevabı var. – connexo

+0

Bu sorunun çoğaltılması gerektiğini kabul etmeyeceğim, çünkü bu soru arama yaparak cevaplanmalıydı. Birçok kez yanıtlandı: http://stackoverflow.com/q/15108285/3150271 | http: // stackoverflow.com/q/14967421/3150271 | http://stackoverflow.com/q/25211621/3150271 – Anonymous

+0

Ofc İlk önce aradım ama aramam orijinal kodumda olduğu gibi "Codepen" ve "Snippet'ler" içeriyordu ve uygun bir sonuç vermedi. (daha önce yorumda açıklanmıştır). – connexo

cevap

35

öyle.

div { 
 
    background-color: blue; 
 
    height: 50px; 
 
    width: calc(100% - 250px); 
 
}
<div></div>
MDN Dokümanlar

:

Not: + ve - operatörler her zaman boşluk içine alınmalıdır. Örneğin calc(50% -8px) işleneni, yüzdesi olarak negatif bir uzunluk, geçersiz bir ifade olarak ayrıştırılırken, , calc(50% - 8px) işleneni, bir eksi işareti ve bir uzunluğudur. Daha da ötesi, calc(8px + -50%), bir uzunluğunun ardından bir artı işareti ve negatif bir yüzde olarak muamele edilir. * ve / işleçlerinde boşluk kullanılmaz, ancak tutarlılık eklemek için izinlidir ve önerilir.

Kaynak: MDN

W3C Documentation

+2

Neden eklenecek alanı paylaşabiliyor musunuz? Bu doğru ifade mi yoksa neden boşluk olmadan hesaplanmıyor? –

+1

Bu çözer! Karşıt olduğum belgelerin hiçbiri kayda değer değil, bu garip değil mi? – connexo

+3

[MDN] 'de bahsedilmiştir (https://developer.mozilla.org/en-US/docs/Web/CSS/calc) –