小编Rea*_*ues的帖子

CSS min-height 100%,带有多个div

好的.我试图让页面显示视口高度的100%,但是抓取的是页面有多个div并不总是嵌套.我一直在浏览多个问题和其他网站,但我找不到符合我需求的答案.

我目前的布局如下:

<html>
<body>
    <div class="container">
         <div class="header">
         </div>
         <div class="content">
         </div>
         <div class="footer">
         </div>
    </div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

页眉和页脚各占80px的位置,我试图让内容div填充视口的其余部分.我已经尝试将html,body和容器div设置为"height:100%",然后将内容div设置为min-height:100%和height:100%但这只会使div扩展到100%视口,然后页脚被向下推80px(因为标题是80px),所以整页最终为100%+ 160px(两个80px div).

有任何想法吗?干杯.

html css height

5
推荐指数
1
解决办法
3632
查看次数

PHP 中表示简单赋值 (=) 的标记是什么?

我本来希望在 PHP 的解析器标记列表中找到一个简单的T_EQUALT_ASSIGN作为此处的标记,但它不存在。=

那么用什么token来表示赋值操作呢?假设我有$x = 1;,它以 开头T_VARIABLE,然后是T_WHITESPACE,然后是=,然后是数字所属的任何标记,然后以 结束;。使用什么标记来表示这些字符?

php token

5
推荐指数
1
解决办法
278
查看次数

浏览器渲染DOM元素的像素级别(宽度,高度等)的差异

我正在开发一个应用程序,用于比较不同浏览器中呈现的DOM,以便找到差异.我将其视为进行屏幕截图比较的替代方案.此外,这可以通过编程方式完成,减少误报(至少这是我的想法).

我通过element.getBoundingClientRect()计算元素的实际位置,如下所示:检索html元素的位置xy.

我在Firefox和Chrome上尝试过,并从中生成了一个JSON DOM结构.现在我对我得到的东西感到很困惑.我知道浏览器在子像素级别上处理像素值的方式不同,但它并不像Chrome总是有圆形数字而Firefox总是有分数.它几乎总是这样:

火狐

{
    "name": "SPAN",
    "style": {
      "display": "block",
      "top": "1390.5",
      "left": "824.61669921875",
      "width": "123.38333129882812",
      "height": "27"
    }
}
Run Code Online (Sandbox Code Playgroud)

{
    "name": "SPAN",
    "style": {
      "display": "block",
      "top": "1390",
      "left": "824.640625",
      "width": "123.359375",
      "height": "27"
    }
  }
Run Code Online (Sandbox Code Playgroud)

chrome中的最高值始终是整数,而在firefox中,它始终是相同的值,但要高出.5或.25.

高度要比铬高1或0.5.

所有其他值有时是两个浏览器中的分数.如果它们是分数,它们永远不会相等(firefox总是具有更高的值).如果它们是整数,则它们是相同的.

我从来没有想到过这样的事情.特别是顶部高度值的奇怪之处.我会想,渲染只是不同,这导致(不规则!!)不同的像素值.

所以我的问题是:如果我进行这种比较,我可以从中得出任何规则吗?有谁知道firefox的舍入规则?或者我是否必须进行宽容比较,以检查这些值是否相互间隔超过1个单位?

更新:

如果您想快速查看,请访问http://example.com/(因为它有一个非常小的DOM)并document.getElementsByTagName("body")[0].getBoundingClientRect()在firefox和chrome上输入javascript控制台.Y,高度和顶部值在firefox中是疯狂的长浮点值,而在它们中更短并且在chrome中奇怪地舍入.

html css firefox google-chrome html-rendering

5
推荐指数
1
解决办法
2240
查看次数

理解为什么纯CSS视差效果与div一起使用,而不是body标签?

我想了解他的网站的纯CSS视差效应基思·克拉克证明在这篇文章中.

就拿这两个jsFiddles:CSS视差的股利,并与身体CSS视差.

第一个按照描述工作,第二个没有 - 并且没有发生视差效应.这两个文档之间的唯一区别是第一个文档缺少div.parallax具有以下属性的intermmediatary 标记:

.parallax {
      perspective: 1px;
      height: 800px;
      overflow-x: hidden;
      overflow-y: auto;
      background-color:rgba(0,0,0,0.25);
 }
Run Code Online (Sandbox Code Playgroud)

第二个删除此标记并将上述样式添加到正文:

body {
      perspective: 1px;
      height: 800px;
      overflow-x: hidden;
      overflow-y: auto;
      background-color:rgba(0,0,0,0.25);
 }
Run Code Online (Sandbox Code Playgroud)

谁能告诉我为什么会这样?为什么我的文档中需要一个看似冗余的标记才能发生这种效果?为什么body元素不能充当div.parallax容器元素?

html css parallax css-transforms

5
推荐指数
1
解决办法
963
查看次数

PDO准备语句:如何执行,检查受影响的行,然后获取字段

我对PDO很新 - 只是被告知今天早上朝这个方向前进.所以,听我说.我正在尝试将我的登录验证功能从标准重写mysql_query()为PDO准备语句,但我遇到了一些问题.

函数loginCheck()传递提供的电子邮件和密码,然后从匹配的电子邮件中获取salt,如果该查询的受影响行数为1,则将该变量$salt应用于该查询的结果.

对于函数的后半部分,我之前只是使用:

// standard mysql query goes here

if (mysql_num_rows($query) == 1) {
    $salt = mysql_result($query, 0);
}
Run Code Online (Sandbox Code Playgroud)

现在我的整个函数看起来像:

// new mysql query below 

global $dbh;

$stmt = $dbh->prepare("SELECT `salt` FROM `users` WHERE `email`=? LIMIT 1");
$stmt->execute($email);

// not sure what to write here?
Run Code Online (Sandbox Code Playgroud)

但我无法理解如何将最顶层的代码转换为PDO中的类似代码.我也可能在这里做了别的错事(一如既往),所以也请指出我.

我查看了PHP手册,我根本无法理解其中的大部分内容.有任何想法吗?

php mysql pdo prepared-statement

4
推荐指数
1
解决办法
1万
查看次数

使用htaccess禁用除一个文件夹以外的所有目录列表?

现在,我正在Options -Indexes隐藏对我网站上所有目录列表的访问权限.

然而,我发现我需要对特定文件夹的目录访问:

../Resource/Other/

是否有任何方法可以将逻辑NOT规则应用于htaccess以允许访问某些文件夹,同时默认情况下禁用目录访问?或者我是否必须从另一个角度接近它并全局启用目录列表,然后有选择地逐个文件夹禁用它们?

.htaccess

4
推荐指数
1
解决办法
4866
查看次数

如何在Dropzone.js失败后重新提交文件上传?

我有一个文件上传表单,使用Dropzone.js将文件上传到我的服务器.用户一次最多可以上传5个,但我有一个独特的条件我正在处理:如果服务器端出现任何单个文件错误(超过最大大小,错误的mime类型,错误的文件类型等) ,我不需要将任何文件添加到我的数据库中.这不是问题.

我遇到的问题是客户端处理它.为什么当我从服务器得到响应时,我再也无法通过单击"提交"(其元素绑定到事件处理程序,如下所示)再次上载文件?

        Dropzone.options.uploadedFilesDropzone = {
              autoProcessQueue: false,
              maxFilesize: 1024, //MB
              addRemoveLinks: true,
              uploadMultiple: true,
              parallelUploads: 5,
              maxFiles: 5,
              init: function() {

                var uploadedFilesDropzone = this;

                $('#submit').on('click', function() {
                    uploadedFilesDropzone.processQueue();

                    uploadedFilesDropzone.on("successmultiple", function(files, response) {
                        // Handle the responseText here. For example, add the text to the preview element:
                        console.log(files);
                        console.log(response.errors[0]);
                        $.each(files, function(index, file) {
                            // no errors
                            if (response.errors[index].length == 0) {

                            } else {
                                file.previewElement.classList.add('dz-error');
                            }
                        })
                     });
                });
              }
        }
Run Code Online (Sandbox Code Playgroud)

javascript file-upload dropzone.js

4
推荐指数
1
解决办法
2310
查看次数

Swift Vapor:如何读取JSON文件?

我正在使用Vapor,服务器端Swift 4框架来创建Web服务器.我有一个我想申请的迁移,它从JSON文件中读取; 但是,大多数(如果不是全部)我在这上面看到的Swift教程都表示使用Bundle,据我所知,在开发服务器端swift应用程序时这是不可用的,这意味着这样的尝试不起作用:

if let path = Bundle.main.url(forResource: "myFile", withExtension: "json") {
...
Run Code Online (Sandbox Code Playgroud)

这引出了一个问题,给定一个相对文件路径,如何使用服务器端Swift读取文件?

swift vapor

4
推荐指数
1
解决办法
854
查看次数

是否要安装ionCube PHP Loader ioncube_loader_win_5.3.dll?

我在Windows机器上使用AMPPS,当我尝试导航到http://localhost对我的localhost服务器进行一些修改时,我收到以下错误:

Site error: the file C:\Program Files (x86)\Ampps\ampps\softaculous\enduser\inc.php requires the ionCube PHP Loader ioncube_loader_win_5.3.dll to be installed by the website operator. If you are the website operator please use the ionCube Loader Wizard to assist with installation.
Run Code Online (Sandbox Code Playgroud)

我检查了我的php.ini文件,看不出任何错误:

;ionCube Loader
zend_extension="{$path}\{$php_dir}\ioncube_loader_win_5.3.dll"
Run Code Online (Sandbox Code Playgroud)

当我回声时phpinfo(),我找不到任何关于这个IonCube装载机的参考.

当我尝试使用IonCube安装向导解决问题时,我不知道要为base URLbase Directory字段输入什么.

有人可以帮帮我吗?谢谢.

php localhost ioncube ampps

3
推荐指数
1
解决办法
2万
查看次数

使用laravel,如何创建动态文件下载?

我正在使用 Laravel 将我当前的站点之一转换为 MVC 模式,但我一直在纠结如何管理一项功能:动态日历下载。

目前,当用户导航到 时calendar.php?var=1calendar.ics准备下载一个文件,并自动提示用户:

header('Content-type: text/calendar; charset=utf-8');
header('Content-Disposition: inline; filename='.$calData->filename($calData->filename).'.ics'); 


$calData = new CalendarBuilder($_GET['foo']);

$ical = "BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//hacksw/handcal//NONSGML v1.0//EN\r\n";

        $ical .= "BEGIN:VEVENT
UID:" . md5(uniqid(mt_rand(), true)) . "@foo.com
DTSTAMP:" . gmdate('Ymd').'T'. gmdate('His') . "Z
DTSTART:".$calData->eventStart($calData->foobar)."
DTEND:".$calData->eventEnd($calData->foobaz)."
SUMMARY:".$calData->summary($calData->fooboo)."
LOCATION:".$calData->location($calData->foofaa)."
DESCRIPTION:".$calData->description($calData->fi)."
END:VEVENT\r\n";

$ical .= "END:VCALENDAR";

echo $ical;
exit;
Run Code Online (Sandbox Code Playgroud)

但是,现在我希望用户能够导航calendar/{slug}并立即发送下载响应。但是,使用 Laravel,我看不到任何方法。例如,我可以设置一条路线:

Route::get('calendar/{slug}', array(
    'as' => 'calendar.get',
    'uses' => 'CalendarController@get'
));
Run Code Online (Sandbox Code Playgroud)

这可以转到我的控制器:

class CalendarController extends BaseController {

    // GET Specific Calendar
    public class get() …
Run Code Online (Sandbox Code Playgroud)

php download http-headers laravel

3
推荐指数
1
解决办法
2735
查看次数