Используйте ширину DIV в инструкции If в файле Php

У меня есть .php-файл, в котором у меня есть макет, который я бы хотел изменить в зависимости от ширины div. Этот div является родителем следующего кода и находится в другом файле.

<?php if ($(".container").width() > 400) { ?> <div class="sub-container"> <div">sidepanel-left</div> <div>content</div> <div>sidepanel-right</div> </div> <?php } else { ?> <div class="sub-container"> <div>sidepanel-left <div>sidepanel-right</div> </div> <div>content</div> </div> <?php } ?> 

Это дает мне пустую страницу только с тегами Html, head и body.

Я уверен, что это довольно простой код, который мне нужен, но я только начинаю с PHP / JS, и я не уверен, что я делаю -_-

Дайте мне знать, если вам нужна дополнительная информация!

Заранее спасибо за помощь! 🙂

B.

Вы не можете сделать это на PHP. Вы можете сделать следующее:

Со стороны PHP выведите этот HTML-код:

  <div class="container"> ... <div class="sub-container"> <div>sidepanel-left</div> <div>content</div> <div>sidepanel-right</div> </div> </div> 

Затем на странице HTML убедитесь, что загружен jquery, и поставьте это:

  <script type="text/javascript"> $(document).ready(function() { $('.container').each(function(){ var $this = $(this); if ( $this.width() > 400 ) { $this.addClass('wide-container'); } }); }); </script> 

Затем в вашем файле css вы можете настроить класс для обычного контейнера и широкого контейнера, а также вы можете управлять стилями подконтейнеров:

  .container { // default styles here } .container.wide-container { // override wide container styles } .container.wide-container > .subcontainer { // override subcontainer styles } 

Вы можете использовать запросы @media для достижения аналогичного результата, но запросы @media можно применять в соответствии с шириной экрана, а не конкретным контейнером.