使用javascript和php根据视口尺寸设置字体大小


using javascript and php to set font sizes based on viewport dimensions

我真的不知道是否需要这样做,但我想这样做。

我只是一直在使用font-size: 100%;font-size: 300%;这样的尺寸,这取决于什么看起来不错,但我相信它是半吊子,就像我应该知道它会是什么样子/应该是什么样子,取决于浏览器窗口。

我想从视觉上了解像素的外观,我的意思是,现在我一直在使用百分比div,我的特定div元素大约有288个像素宽,高度不同,这取决于有多少字符。例如,我也会限制行,在一定数量的字符后的末尾加一个省略号,但我想根据比例来做。

我试图将$window.height();$window.width;与一些php代码结合使用,这些代码会将其发送到一个文件,然后从这里开始,我会将其分解,应用百分比,然后使用php echo在css中声明字体大小,但我不知道这是否有效,到目前为止,我的尝试还没有。。。我得到的不是窗口。宽度是772,而是35,但宽度是一样的。我只是想知道这是否是错误的做法。

<?php 
require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR.'some_script.php');
?>
<script>
alert($(window).height());
alert($(window).width());
$(function() {
    $.post('some_script.php', { width: window.height(), height: window.width() }, function(json) {
        if(json.outcome == 'success') {
            // do something with the knowledge possibly?
        } else {
            alert('Unable to let PHP know what the screen resolution is!');
        }
    },'json');
});
</script>
<head>
<style>
body {
background-color: #008000;
}
.mini-container {
font-size: <?php echo $modified_value; ?>;
}
</style>
</head>
<body>
<div class="mini-container">
something something dark numbers
</div>
</body>

some_script.php

<?php
if(isset($_POST['width']) && isset($_POST['height'])) {
    $_SESSION['screen_width'] = $_POST['width'];
    $_SESSION['screen_height'] = $_POST['height'];
    $modified_value = $_SESSION['screen_height']*0.2;
    echo json_encode(array('outcome'=>'success'));
} else {
    echo json_encode(array('outcome'=>'error','error'=>"Couldn't save dimension info"));
}
?>

无论如何,这个想法并不完全是我的计划,这是我正在考虑做的事情,但我在问我是否应该浪费时间使用这个,这是一个坏主意。我不知道字体大小是如何衡量的,对角线、高度或宽度?

正如Mhammad所说,mediaquery将在中工作

@media (max-width: 600px) {
  #container {
    font-size:25pt;
  }
}

或者为了更平稳的过渡:

$( window ).resize(function() {
$( "#container" ).css("font-size",function() {
        var value = $( "#container" ).css("width");
        console.log(parseInt(value)/24 + "pt");
        return parseInt(value)/24 + "pt";
    }) ;
});

https://jsfiddle.net/w2onp4me/

为什么不使用CSS媒体查询,而不是在服务器上解析页面并发送回客户端?你不认为这是服务器上的过载吗?