Php ile div yüksekliğini alma ve bir görüntüye uygulamadan

5 Cevap php

başlık dediği gibi ben bir yüksekliğini almak için php kullanmaya çalışıyorum < bir resme uygulayarak bu değerle sonra div> elemanı. Bu aslında görüntüyü küçültmek veya görüntüyü uzanırdı. Ben hala kodlama için yeni, i online arama ve ne ben buldum böyle bir şey olduğu, javascript bunu yapmanın tek çözüm

DivHeight = document.getElementById("TheDiv").offsetHeight

ama ben bunu php kullandığı herhangi bir bulamadı.

5 Cevap

php bir div yüksekliğini alamayan bir sunucu tarafı dilidir.

Eğer özelliklerini ekleyerek görüntü boyutunu belirtebilirsiniz

Sen div nesnesi (veya bu yönde bir şey) dedi doldurmak üzere div nesne kılındığını SONRA görüntü boyutunu ayarlamak istiyorsanız, ancak div nesnenin büyüklüğü değişkendir. Üst nesne, bu durumda div nesne, CSS kodunda tanımlanan kesin bir değere sahip olması gerekir, çünkü böyle bir senaryoda, height: 100% kullanamazsınız. Javascript bu biri için tek çözümdür.

Bunu yapın:

<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
    $(document).ready(function(){
        $('#theImagesId').css({"height":$(".theDivsId").height(), "width": $(".theDivsId").width()});
    });
</script> 
</head>

also you'll need to download this file that is referenced from jquery (the minified version will suffice): http://docs.jquery.com/Downloading_jQuery#Download_jQuery

source: http://www.w3schools.com/jquery/jquery_intro.asp

Sayfası oluşturulur ve div görüntülendiğinde, PHP zaten uzağa gitti gibi, PHP div yüksekliğini alınamıyor. Bunu yapmak için tek yolu daha sonra AJAX ile görüntü almak, javascript ile yüksekliğini elde etmektir.

Eğer resmin genişliğini ve yüksekliğini değiştirerek sadece javascript ile görüntüyü küçültmek, biliyorum. Sonuçlar uygun değil, ama muhtemelen amaçlar için sadece iyi çalışır.

Burada diğerleri dediği gibi, PHP ile bunu yapamazsınız. Ama neden sadece CSS kullanmak değil?

Içeren DIV bir yükseklik ve genişlik varsa, sizinle (sürecinde germe veya küçülen) o boşluk doldurmak için görüntü stilini ayarlayabilirsiniz:

.imgclass {
  height: 100%
  width: 100%
}

Aslında sunucu üzerinde fiziksel görüntüleri yeniden boyutlandırmak istiyorsanız Ancak, daha sonra AJAX kullanmak zorunda ve JavaScript ile yeni görüntü (onları oluşturmak için sunucu almak istiyorum ne kadar süre bağlı olarak, yavaş olabilir) isteyin.

Eğer boyutları bir grup önceden oluşturmak ve yakın eşleşen birini kullanın ve daha sonra CSS ile tarayıcıda yeniden boyutlandırmak sürece, ikincisi karşı tavsiye ederim.

Istemci tarafında işlenir - belirtildiği gibi, 'istemci tarafında' kod HTML olarak (sizi manipüle çalıştığınız şeyler divs, vb görüntüler), bu yapmak zorunda. Bu javascript demektir. Ben jquery kitaplığı kullanmanızı öneririz - Aşağıdaki satırı yapmak gerekir:

$('#theImagesId').css({width: $('#theDivsId').height()+"px"});

Ancak, ne yapmaya çalışıyorsun biraz garip sesler? Iade yüksekliği olması gerekenden daha küçük olabilir akılda Ayrıca çıplak, div bir görüntü ya da bir şey yükleme zaten varsa. Javascript DOM yüklendikten sonra çalıştırmak (yani, tüm gerçek html kodu), ama bunun içinde ille görüntüleri olmasıdır.