小编Wes*_*rch的帖子

检测下拉导航是否会离开屏幕并重新定位

我有你典型的下拉导航,我正在努力确保下拉菜单链接始终可访问和可见:

<li><a href="#">Link 1</a>
    <ul>
        <li><a href="#">Link 1</a></li>
        <li><a href="#">Link 2</a></li>
        <li><a href="#">Link 3</a></li>
    </ul>
</li>
<li><a href="#">Link 2</a>
    <ul>
        <li><a href="#">Link 1</a></li>
        <li><a href="#">Link 2</a></li>
        <li><a href="#">Link 3</a></li>
    </ul>
</li>
<!-- etc. -->
</ul>
Run Code Online (Sandbox Code Playgroud)

CSS真的没有什么特别的(颜色和背景被删除):

.dropdown,
.dropdown li,
.dropdown ul {
    list-style:none;
    margin:0;
    padding:0;
}
.dropdown {
    position:relative;
    z-index:10000;
    float:left;
    width:100%;
}
.dropdown ul {
    position:absolute;
    top:100%;
    visibility:hidden;
    display:none;
    width:16em;
}
.dropdown ul ul {
    top:0;
    left:100%;
}
.dropdown li {
    position:relative;
    float:left;
}
.dropdown li:hover{
    z-index:910;
}
.dropdown …
Run Code Online (Sandbox Code Playgroud)

html javascript css jquery

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

什么是PHP的serialize()函数?

我刚刚了解了这些serialize()unserialize()功能.这有什么用途?我知道人们将事物序列化到数据库中.你能给我一些有用的示例用法吗?

我也看到了javascript中的序列化代码,这是一样的吗?javascript中的序列化字符串可以用php反序列化unserialize()吗?

php serialization

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

如何通过浏览器应用CSS,并重新受其影响?

假设我们有一个带有单个样式表的HTML页面<link>.浏览器如何获取此样式表中的规则并将其应用于HTML?我不是在问如何让它更快,我想知道渲染本身是如何处理的.

它是否逐个应用每个规则,因为它会解析样式表并逐步呈现结果?或者,CSS文件的内容是否已完全下载,然后进行全面评估,然后立即应用于HTML?或者是其他东西?

我问这个上张贴一个答案较早之后关于影响渲染速度CSS规则的顺序问题,与样式被渲染的假设作为加载的样式,所以第一个规则会在最后的前应用,而不是一下子.我不确定我在哪里接受这个想法,这只是我一直想到的.

我在我的服务器上尝试了一个看起来像这样的演示:

<!DOCTYPE html>
<html>
<head>
   <title>Test</title>
   <link rel="stylesheet" href="test.css" />
</head>
<body></body>
</html>
Run Code Online (Sandbox Code Playgroud)

test.css 内容:

html { background:green }
/* thousands of lines of irrelevant CSS to make the download slow */
html { background:red }
Run Code Online (Sandbox Code Playgroud)

在Firefox 5中进行测试,我希望首先看到绿色,然后变为红色.它没有发生.我尝试使用两个具有冲突规则的单独样式表并获得相同的结果.很多组合后,我得到了它工作的唯一途径是内嵌<style>在块<head>,与冲突的规则从未来<link><body>(身体本身完全除外链接标记为空).即使style<html>标记上使用内联属性,然后加载此样式表也不会创建我期望的闪烁.

重绘是否受到CSS的任何影响,或者是在下载整个样式表后是否同时应用了最终输出,并且计算了最终输出应该是什么规则?CSS文件是否与HTML本身一起下载或阻止它(如脚本标签那样)?这实际上是如何工作的?

我不是在寻找优化技巧,我正在寻找有关该主题的权威参考资料,以便我将来可以引用它们.如果没有大量不相关的材料,就很难搜索这些信息.摘要:

  • 是否在应用任何 CSS内容之前下载了所有CSS内容?(请参考)
  • 这会受到@import多个<link>内联样式属性,<style>头部块和不同渲染引擎等因素的影响?
  • 下载CSS内容是否会阻止HTML文档本身的下载?

html css browser rendering-engine repaint

32
推荐指数
2
解决办法
9938
查看次数

glob()在Windows上找不到包含多字节字符的文件名?

我正在编写一个文件管理器,需要扫描目录并处理重命名可能有多字节字符的文件.我正在Windows/Apache PHP 5.3.8上本地工作,目录中包含以下文件名:

  • filename.jpg
  • имяфайла.jpg
  • 文件件name.jpg
  • פילענאַמע.JPG
  • 文件名.JPG

在实时UNIX服务器上进行的测试很好.在Windows上本地测试使用glob('./path/*')仅返回第一个,filename.jpg.

使用scandir(),至少返回正确数量的文件,但我得到的名称?????????.jpg(注意:那些是常规问号,而不是 字符.

我最终需要编写一个"搜索"功能,以递归方式搜索整个树,查找与模式或某个文件扩展名匹配的文件名,我认为glob()这将是正确的工具,而不是扫描所有文件和在应用程序代码中进行模式匹配和数组构建.如果需要,我愿意接受其他建议.

假设这是一个常见的问题,我立即搜索了Google和Stack Overflow,发现没有任何相关内容.这是一个Windows问题吗?PHP的缺点?解决方案是什么:我能做些什么吗?

附录:不知道如何与这个,但file_exists()也恢复FALSE这些文件,通过在全绝对路径(使用记事本++,PHP文件本身是UTF-8编码没有BOM).我确定路径是正确的,因为没有多字节字符的相邻文件会返回TRUE.

编辑:glob() 可以找到一个名为的文件filename-äöü.jpg.以前在我的.htaccess文件中,我有AddDefaultCharset utf-8,我之前没有考虑过.filename-äöü.jpg打印为filename-???.jpg.删除htaccess行的唯一效果似乎是文件名正常打印.

我已.htaccess完全删除了该文件,这是我的实际测试脚本(我从原始帖子中更改了几个文件名):

print_r(scandir('./uploads/')); 
print_r(glob('./uploads/*'));
Run Code Online (Sandbox Code Playgroud)

在Windows上本地输出:

Array
(
    [0] => .
    [1] => ..
    [2] => ??? ?????.jpg
    [3] => ???.jpg
    [4] => ?????????.jpg
    [5] => filename-äöü.jpg
    [6] => filename.jpg
    [7] …
Run Code Online (Sandbox Code Playgroud)

php windows filesystems utf-8 multibyte

30
推荐指数
1
解决办法
6092
查看次数

使用fieldset标签有什么好处?

使用<fieldset>标签有什么好处?

我真的不知道它用于什么.

html fieldset

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

Web Safe字体权重 - 如何变薄?

当我在Photoshop设计,我的字体是薄而脆,但是当我在CSS中声明的字体 - 即使使用的字体重量:轻 - 字体总是出现大胆.

也许这就是浏览器是如何呈现的字体(在IE浏览器的字体保持身材苗条),但我不知道是否有达到同样薄,脆长相任何技巧或提示.

css fonts

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

HTML选择中的部分粗体文本

我不确定这是否可能,但我有一个案例,我想在HTML选择标记的选项中加粗部分(不是全部)文本.

我尝试使用b标签以及强大的标签,没有运气(在Chrome上).CSS可能有用,但由于它在元素级别工作,我不知道如何以这种方式去做.

有没有办法做到这一点?

html css

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

颜色声明之间的性能差异?

在CSS中,我们可以使用几种不同的方法来定义颜色:

  • 颜色词: red
  • 十六进制: #FF0000
  • 红色/绿色/蓝色通道: rgb(255, 0, 0)
  • 色相/饱和度/亮度: hsl(0, 100%, 50%)

我确实意识到使用命名颜色并不是一个好主意,因为不同的浏览器都有自己的想法aquamarine.

忽略alpha通道和浏览器支持,这四种方法之间在性能方面有什么不同吗?

如果我们试图从我们的CSS中挤出最后一点优化,哪一个是首选,如果有的话?颜色值是在内部转换为特定格式,还是其性能取决于其他任何内容(如使用哪个渲染代理或浏览器)?

如果可能,寻找"技术"答案,参考赞赏.

css performance

24
推荐指数
5
解决办法
5047
查看次数

输入密钥如何被恶意用户利用?

CodeIgniter PHP框架中,有一个函数可以自动运行每个请求,其中包括过滤GET/POST/COOKIE数组键,并在遇到它认为不安全的字符时杀死应用程序.

为防止恶意用户尝试利用密钥,我们确保密钥仅以字母数字文本和其他一些项目命名.

就像是:

// foreach GET/POST/COOKIE keys as $str...
if ( ! preg_match("/^[a-z0-9:_\/-]+$/i", $str))
{
    exit('Disallowed Key Characters.');
}
Run Code Online (Sandbox Code Playgroud)

例如,如果您不小心发布了类似的内容<input name="TE$T">或者有类似的查询字符串,则会触发此操作?name|first=1.

我可以看到这是一种强制执行常识键名称或在开发应用程序时捕获错误的好方法,但我不明白:恶意用户如何可能在$_POST数据中"利用密钥" ?特别是因为(我会假设)输入同样可以利用,这实际上阻止了什么?

php security input

23
推荐指数
2
解决办法
846
查看次数

正确使用<small>标签,或如何标记"不太重要"的文本

另一个在HTML5中具有新含义的标签<small>显然存在于:

http://www.w3.org/TR/html-markup/small.html#small

小元素代表所谓的"精细打印"或"小字体",例如法律免责声明和警告.

这个非官方的参考似乎更进一步:

http://html5doctor.com/small-hr-element/

<small>现在是侧面注释,它是内联等效的 <aside>- 内容,它不是页面的主要焦点.一个常见的例子是内联法律术语,例如页脚中的版权声明,免责声明或许可信息.它也可以用于归属.

我有一个我想要显示的人员列表,其中包括他们的真实姓名和昵称.这个昵称有点像"旁白",我想用较轻的文字来设置它:

<li>Laurence Tureaud <small>(Mr.T)</small></li>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我需要在网站的几个部分(人员,产品,地点)做类似的事情,所以我正在努力制定合理的标准.我知道我可以使用<span class="quiet">或类似的东西,但我试图避免任意类名称并使用正确的HTML元素(如果有的话).

是否<small>适合这个,或者是有其他元素或标记结构,这将是合适的?

html html5 semantic-markup

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