小编Goo*_*ose的帖子

比较chrome和Firefox的字体大小问题

我建立了一个网站,问题是,chrome显示font-size 1px比Firefox更大.我尝试了几种匹配font-size的方法,在px中指定它,在%中将body设置为100%然后将元素设置为0.875em.这些都不起作用.它仍然在铬中显示1个像素.

这是我用于font-sizes的代码:

body {
  font-size: 100%;
}
* {
  margin:0;
  padding:0; 
  text-decoration: none; 
  font-family:helvetica, arial, sans-serif;
}
#geral {
  width:1000px; 
  margin:0 auto; 
  position:relative; 
  font-size:0.875em;
}
Run Code Online (Sandbox Code Playgroud)

如果#geral包装整个站点并且CSS上没有其他font-size语句,则可以在我发布的链接中查看源.

我想知道是否有办法解决这个问题,或者我是否必须为每个浏览器指定不同的字体大小?

css firefox google-chrome font-size

29
推荐指数
3
解决办法
6万
查看次数

setTimeout在forEach中没有工作

我有一个调用函数的forEach.每次调用之间都需要有延迟.我把它放在forEach里面的setTimeout里面.第一次等待后不遵守超时.相反,它等待一次,然后立即运行.我将超时设置为5秒,我正在使用控制台进行确认.5秒等待,然后几个foobar控制台同时记录.

为什么我会出现这种行为?

var index = 0;
json.objects.forEach(function(obj) {
    setTimeout(function(){
        console.log('foobar');
        self.insertDesignJsonObject(obj, index);
    }, 5000);
});
Run Code Online (Sandbox Code Playgroud)

javascript foreach function settimeout

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

使用CSS visited属性将href用于文件

我有2个锚标签的HTML,一个到文件,一个到谷歌

<a href="http://example.com/files/foobar.csv">
    http://example.com/files/foobar.csv
</a>
<a href="http://google.com">
    Google
</a>
Run Code Online (Sandbox Code Playgroud)

我也有这个CSS来访问锚标签红色.

a:visited {
    color: #ff0000;
}
Run Code Online (Sandbox Code Playgroud)

当我点击谷歌链接时,链接会变为红色,因为我已经访问了它.

但是,当我单击该文件时,该链接不会变为红色.

因此,文件路径似乎与url路径的工作方式不同.

如何使访问属性使用href对文件进行锚标记处理

html css

13
推荐指数
1
解决办法
769
查看次数

为什么这个简单的连接查询使用子查询会明显加快?

我有两张桌子.order_details这是100,000行,outbound是10,000行.

我需要将它们连接到一个名为的列上order_number,这两个列上都是VARCHAR(50).order_number在出站表中不唯一.

CREATE TABLE `outbound` (
    `outbound_id` int(12) NOT NULL,
    `order_number` varchar(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `order_details` (
    `order_details_id` int(12) NOT NULL,
    `order_number` varchar(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Run Code Online (Sandbox Code Playgroud)

这是我的初始查询,运行时间超过60秒:

SELECT o.order_number
FROM outbound o
INNER JOIN order_details od
    ON o.order_number = od.order_number
Run Code Online (Sandbox Code Playgroud)

此查询获得相同的结果,运行时间不到一秒:

SELECT o.order_number
FROM outbound o
INNER JOIN
(
    SELECT order_number
    FROM order_details
) od
ON (o.order_number = od.order_number)
Run Code Online (Sandbox Code Playgroud)

这对我来说是令人惊讶的,因为通常子查询要慢得多.

运行EXPLAIN(我还在学习如何理解)显示子查询版本使用derived2表,它使用索引,而索引是auto_key0 …

mysql sql performance subquery

8
推荐指数
1
解决办法
129
查看次数

粗体的 Roboto 字体是不可见的

我有一个使用 Roboto google 字体的内部使用网站。这是包含它的代码。

<link href="//fonts.googleapis.com/css?family=Roboto:500" rel="stylesheet" type="text/css">.
Run Code Online (Sandbox Code Playgroud)

&

body {
    font-family: "Roboto";
}
b, strong {
    font-weight: 700;
}
Run Code Online (Sandbox Code Playgroud)

我在我的公司找到了一个人,他的 Chrome 在粗体时无法呈现这种字体。我可以通过转到 Youtube 并使用检查元素使 Roboto 文本加粗来复制它。在任何其他计算机上不会发生此问题。Chrome 是最新的,没有安装任何扩展程序。我尝试关闭并重新打开 Chrome 以及几次硬刷新。强制浏览器使用调整大小、CSS 或 JS 重新绘制也不能解决问题。

这不会用 Google Fonts Roboto欺骗Font Weight问题,正常 (400) 和粗体 (700) 工作,light (300) 不会。该问题出现在网站的 http 和 https 版本上,字体加载为 //,并且我没有从 Chrome 收到不安全的内容警告。

这是什么原因造成的,我可以在网站或个人计算机上做些什么来进一步排除故障或解决此问题?

css browser fonts google-chrome cross-browser

6
推荐指数
1
解决办法
4456
查看次数

为什么strtolower比strtoupper略慢?

我出于好奇做了一个实验.我想看看是否有在所有之间的差异微strtolower()和strtoupper().我预计strtolower()大多数小写字符串会更快,反之亦然.我发现这种strtolower()情况在所有情况下都比较慢(尽管在你完成数百万次之前完全无关紧要.)这是我的考验.

$string = 'hello world';
$start_time = microtime();
for ($i = 0; $i < 10000000; $i++) {
    strtolower($string);
}
$timed = microtime() - $start_time;
echo 'strtolower ' . $string . ' - ' . $timed . '<br>';
Run Code Online (Sandbox Code Playgroud)

重复strtolower()和strtoupper()使用hello world,HELLO WORLD以及Hello World.这是完整的要点.我已经多次运行代码并继续获得大致相同的结果.这是下面的一次测试.

strtolower hello world - 0.043829
strtoupper hello world - 0.04062
strtolower HELLO WORLD - 0.042691
strtoupper HELLO WORLD - …
Run Code Online (Sandbox Code Playgroud)

php c performance micro-optimization

6
推荐指数
1
解决办法
867
查看次数

从 svg 创建静态 png 不带抗锯齿,带或不带画布

我想要的是

我想获取一个矢量 SVG 图像并从中创建一个没有抗锯齿的光栅 png。svg 将根据用户输入(文本、粗体、字体系列)动态生成。首选 png,但也可以接受其他光栅格式。

我在尝试什么

var svg = '<svg><g><text>Hello World</text></g></svg>';
var img = document.createElement('img');
img.setAttribute('src','data:image/svg+xml;base64,' + btoa(svg_static_data) );
img.onload = function() {
    ctx.drawImage(img, 0, 0);
    ctx.mozImageSmoothingEnabled = false;
    ctx.webkitImageSmoothingEnabled = false;
    ctx.msImageSmoothingEnabled = false;
    ctx.imageSmoothingEnabled = false;
    static_image = canvas.toDataURL('image/png');
};
Run Code Online (Sandbox Code Playgroud)

这里的 svg 非常简单,只是为了演示。在这里,我将 svg 转换为 canvas 元素,并将 canvas 元素转换为图像。当这导致抗锯齿时,我发现可能有帮助的唯一配置是imageSmoothingEnabled,但是我仍然得到抗锯齿,可能是因为该配置适用于用画布本身绘制的元素。我也试过把那个配置放在上面drawImage,但没有运气。

我需要的

将动态非动画 SVG 转换为至少大部分相同的光栅图像的函数,该 SVG 可能包含许多元素和属性,包括弯曲文本。

javascript jquery svg canvas antialiasing

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

如何在Vue.js中要求一个插槽?

我之前有一个字符串可以包含HTML(来自服务器,而不是用户),我接受它作为道具.简化,就是这样的.

<foobar alert-content="<strong>bazboo</strong>">
</foobar>
Run Code Online (Sandbox Code Playgroud)

我定义了道具,使其成为必需品

alertContent: {
  type: String, 
  required: true,
},
Run Code Online (Sandbox Code Playgroud)

我决定在这里更有意义的插槽,所以我开始传递它是一个插槽.

<foobar>
    <strong>bazboo</strong>
</foobar>
Run Code Online (Sandbox Code Playgroud)

您可以在模板中使用插槽.它有效.但我不能再要求了.

我如何在Vue.js中需要一个插槽?

javascript vue.js

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

PHP,我的值的发布密钥被每边额外的单引号包裹起来

我在执行这些操作之前没有看到过这种情况,也找不到导致这种独特行为的原因.我的变量是围绕它们获得额外的单引号,例如''foo''而不是'foo'.展示可能更有意义.

这是我的输入 (注意它是一个数组,这是必要的)

<input type="text" name="item[0]['foo']" value="bar">
Run Code Online (Sandbox Code Playgroud)

这是我的控制器 (注意我使用foreach来完成数组)

foreach ($_POST['item'] as $item) {
    var_dump($item);
}
Run Code Online (Sandbox Code Playgroud)

这是我的var_dump (注意额外的单引号,是的,它们是单引号而不是双引号)

array (size=2)
  ''foo'' => string 'bar' (length=4)
  ''key'' => string 'value' (length=4)
Run Code Online (Sandbox Code Playgroud)

显然我们应该期待它

array (size=2)
  'foo' => string 'bar' (length=4)
  'key' => string 'value' (length=4)
Run Code Online (Sandbox Code Playgroud)

除了twitter bootstrap CSS之外,我没有使用任何外部资源或框架.我使用的是PHP 5.5,并且没有其他地方可以触及这个变量.

这些额外的单引号来自哪里?

php forms post

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

从转换内的分页中删除行

我有一个变量,它是分页对象

$pagination
Run Code Online (Sandbox Code Playgroud)

我正在使用转换来改变它里面的东西

$pagination->getCollection()->transform(function ($item, $key) use(&$data, &$pagination) {
    $item->foo = 'bar';
}
Run Code Online (Sandbox Code Playgroud)

如果某个项目满足特定条件,我想从分页中删除该项目。在我能够使用这些数据之前,我不想将其删除。下面是一个例子。

$pagination->getCollection()->transform(function ($item, $key) use(&$data, &$pagination) {
    $data[] = $item->foo;
    if ($item->foo === 'bar') {
        $item->remove();
    }
}
Run Code Online (Sandbox Code Playgroud)

我也尝试过$pagination->getCollection()->forget($key);在转换内部使用

$pagination->getCollection()->transform(function ($item, $key) use(&$data, &$pagination) {
    $data[] = $item->foo;
    if ($item->foo === 'bar') {
        $pagination->getCollection()->forget($key);
    }
}
Run Code Online (Sandbox Code Playgroud)

就是从这个问题来的。

获取集合元素后如何取消设置(删除)集合元素?

我猜我正在处理分页的事实可能会使这些答案不适用于我的情况。

php laravel laravel-pagination

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