由于有很多方法可以将CSS3媒体查询实现到网站中,我想知道哪些是经验丰富的网页设计师推荐的.我能想到一对夫妇:
默认样式适用于所有屏幕宽度,并且媒体查询仅适用于较低的屏幕宽度并覆盖默认值,所有这些都在一个文件中.例如:
HTML
<link rel="stylesheet" href="main.css">
Run Code Online (Sandbox Code Playgroud)
的main.css
article
{
width: 1000px;
}
@media only screen and (max-width: 1000px)
{
article
{
width: 700px;
}
}
Run Code Online (Sandbox Code Playgroud)
(请记住,这只是一个例子)
优点:
缺点:
有单独的样式表包含为每个屏幕宽度定制的完整代码.浏览器仅加载适用的浏览器.例如:
HTML
<link rel="stylesheet" href="large-screen.css" media="screen and (min-width: 1001px)"> /*Also older browsers*/
<link rel="stylesheet" href="small-screen.css" media="only screen and (max-width: 1000px)">
Run Code Online (Sandbox Code Playgroud)
大screen.css
article
{
width: 1000px;
}
Run Code Online (Sandbox Code Playgroud)
小screen.css
article
{
width: 700px;
}
Run Code Online (Sandbox Code Playgroud)
优点:
缺点:
与#1相同,但全局样式和媒体查询位于不同的样式表中.例如:
HTML
<link rel="stylesheet" href="main.css">
<link rel="stylesheet" …
Run Code Online (Sandbox Code Playgroud) 我正在运行Crunchbang 11(基于Debian).
我正在尝试安装Ruby on Rails,如下所示:
gem install rails --version 4.0.0
Run Code Online (Sandbox Code Playgroud)
我收到错误"无法构建gem原生扩展".
我的ruby是版本2.0.0p247
,我的RubyGems是2.0.0
.
这是什么问题?
这是完整的错误输出:
Building native extensions. This could take a while...
ERROR: Error installing rails:
ERROR: Failed to build gem native extension.
/home/erlkoenig/.rvm/rubies/ruby-2.0.0-p247/bin/ruby extconf.rb
creating Makefile
make
compiling atomic_reference.c
linking shared-object atomic_reference.so
make install
/usr/bin/install -c -m 0755 atomic_reference.so /home/erlkoenig/.rvm/gems/ruby-2.0.0-p247/gems/atomic-1.1.10/lib/home/erlkoenig/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/x86_64-linux
/usr/bin/install: cannot create regular file `/home/erlkoenig/.rvm/gems/ruby-2.0.0-p247/gems/atomic-1.1.10/lib/home/erlkoenig/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/x86_64-linux': No such file or directory
make: *** [install-so] Error 1
Gem files will remain installed in /home/erlkoenig/.rvm/gems/ruby-2.0.0-p247/gems/atomic-1.1.10 for inspection. …
Run Code Online (Sandbox Code Playgroud) 我想让我的PHP尽可能安全,我想避免的两个主要问题是
这是我针对mySQL注入的脚本:
function make_safe($variable) {
$variable = mysql_real_escape_string(trim($variable));
return $variable; }
Run Code Online (Sandbox Code Playgroud)
http://www.addedbytes.com/writing-secure-php/writing-secure-php-1/
针对XSS,我发现了这个:
$username = strip_tags($_POST['username']);
Run Code Online (Sandbox Code Playgroud)
现在我想把两者合二为一个函数.这是最好的方法吗?:
function make_safe($variable) {
$variable = strip_tags(mysql_real_escape_string(trim($variable)));
return $variable; }
Run Code Online (Sandbox Code Playgroud)
或者mysql_real_escape_string是否已经阻止了XSS?最后,还有什么我可以添加到此功能,以防止其他形式的黑客攻击?
我在HTML/CSS中遇到了以下问题:对于我的(离线)网站,有一个链接和一个提交按钮(位于表单内),彼此相邻,如下所示:
<a href='settings.php' class='button'>Settings </a>
<form action='processing/logout.php' method='POST' class='inline'>
<input type='submit' value='Sign out' class='redbutton'>
</form>
Run Code Online (Sandbox Code Playgroud)
当两个元素都是链接时,它们就完美地排列在一起.然而,现在,即使链接和按钮具有与它们相关联的相同CSS样式,然后输入按钮比链接更令人烦恼(高度)(尽管在浏览时几乎看不到).
其他论坛上的人要求重置CSS,所以我也将其包括在内,即使删除它也不能解决问题.
如何让链接和输入按钮达到相同的高度?我错过了一些明显的东西吗?是否有CSS技巧让它们达到相同的高度?
我正在使用Rails 3并且无法提交表单,因为其中一个字段无法通过validates_presence_of
.我的模型被调用dinner
,并且调用与datepicker结合使用的字段date
.
views/dinners/new.html.erb:
<%= f.text_field :date, id: "datepicker" %>
Run Code Online (Sandbox Code Playgroud)
models/dinner.rb:
attr_accessible :date
validates_presence_of :date
Run Code Online (Sandbox Code Playgroud)
dinners_controller.rb:
def create
@dinner = Dinner.new params[:dinner]
if @dinner.save
flash[:notice] = "Dinner created successfully."
redirect_to controller: 'dinners'
else
flash.now[:alert] = @dinner.errors.full_messages.join("<br>").html_safe
render action: "new"
end
end
Run Code Online (Sandbox Code Playgroud)
每当我填写所有字段,包括date
,我都会收到错误"日期不能为空",即使它不是空白.这里发生了什么?
在一篇关于阻止PHP表单重新提交的文章中,我阅读了以下内容:
(不引用)这可能是接收表单数据的页面,例如名为"form.php":
<form action="submit.php">
<input type="text" name="user" required />
<input type="password" name="pass" required />
<input type="submit" value="Log in" />
</form>
Run Code Online (Sandbox Code Playgroud)
因此,处理POST数据的页面将被称为"submit.php".如果登录正确,则此代码将运行:
header('Location: /login/form.php?success=true');
Run Code Online (Sandbox Code Playgroud)
但是,用户无法导航到上面的URL?另外,GET变量的目的是什么?难道我不能在form.php上有一个脚本来检查用户是否已登录?
在submit.php,我应该将登录的用户名保存为$ _SESSION ['username'],然后检查form.php中是否有isset()?此外,由于其中"成功"的URL不是很漂亮,再次重定向用户是否经济?我应该使用PHP header()还是Javascript window.location.href?如你所见,我有点困惑.
谢谢你的帮助.
我有一个图像,当它徘徊时,我希望它的宽度增加使用jQuery.我知道该怎么做,但现在我想让这个效果更慢,可能是500毫秒长,而不是瞬间.
我知道它应该很简单,我只是不知道语法.怎么能实现这一目标?
这是我目前的脚本:
$("#example").width("250");
Run Code Online (Sandbox Code Playgroud)
编辑:我遇到了另一个问题.我创建了两个脚本,一个用于使图像变大,另一个用于缩小图像.但是,脚本似乎非常错误和不平滑,并且无缘无故地在大小之间来回切换.我正在使用onmouseover和onmouseout调整它的大小.
//Bigger
$("#example").animate({width: 250}, 200 );
//Smaller
$("#example").animate({width: 200}, 200 );
Run Code Online (Sandbox Code Playgroud) 以下是Ruby第6章"为什么的尖锐指南"中的Ruby代码片段,他试图在Ruby中演示元编程:
# Get a metaclass for this class
def self.metaclass; class << self; self; end; end
Run Code Online (Sandbox Code Playgroud)
我对Ruby并不熟悉,但这是扩展形式的样子吗?
def self.metaclass
def self.self
end
end
Run Code Online (Sandbox Code Playgroud)
至少这是我理解它的方式.但是,它仍然无法理解这段代码的作用.它的目的是什么?
在代码中,为什么添加这个:
arr.each do |a|
metaclass.instance_eval do
define_method( a ) do |val|
@traits ||= {}
@traits[a] = val
end
end
end
Run Code Online (Sandbox Code Playgroud)
如果我理解正确,这段代码会给@traits添加一个具有给定名称和值的新值.那是对的吗?
感谢您的帮助,对于想要查看它的人来说,这是给我带来麻烦的完整源代码:
# The guts of life force within Dwemthy's Array
class Creature
# Get a metaclass for this class
def self.metaclass; class << self; self; end; end
# Advanced metaprogramming code …
Run Code Online (Sandbox Code Playgroud) 我正在使用Javascript将图像添加到HTML5画布:
img = new Image();
img.addEventListener('load', loadCallBack, false);
img.src = image_url;
Run Code Online (Sandbox Code Playgroud)
然后loadCallBack
绘制图像.
问题是有时image_url
指的是破损或不存在的图像.发生这种情况时,我在控制台中出现404错误,并且画布上的图像保持白色.相反,我希望能够src
用另一个替换图像的属性image_url
.
我尝试了以下内容,但没有奏效:
img.addEventListener("error", function(){console.log("404");});
Run Code Online (Sandbox Code Playgroud)
如何检测图像的404?
注意:我仍在寻找解决方案,因为迄今为止发布的两个都没有奏效.
我正在尝试使用CSS ::selection
伪元素更改我网站的选择颜色 .
正如在这个jsFiddle中看到的那样,文本在被选中时应该具有完全黑色的背景颜色.在Firefox上,就是这种情况.
但是,在Chrome上,颜色并非绝对是黑色.Chrome似乎在摆弄我的颜色.
如果您在选择时将文本保留为黑色,则可以看到此内容:在Firefox上,它变得不可见,而在Chrome上,您仍然可以看到它.
我已经注意到了这种对我正在使用的其他背景颜色的影响:它们在Chrome上总是有些偏差.在我看来,似乎添加了一点红色.
如何才能在Chrome上获得我想要的真实色彩?