小编Lon*_*ler的帖子

如何管理CSS3媒体查询?

由于有很多方法可以将CSS3媒体查询实现到网站中,我想知道哪些是经验丰富的网页设计师推荐的.我能想到一对夫妇:

1.一体化样式表

默认样式适用于所有屏幕宽度,并且媒体查询仅适用于较低的屏幕宽度并覆盖默认值,所有这些都在一个文件中.例如:

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)

(请记住,这只是一个例子)

优点:

  • 默认样式适用于旧版浏览器
  • 只需要一个HTTP请求

缺点:

  • 用很多代码弄乱了
  • 有些浏览器必须下载不适用的代码

2.单独的样式表

有单独的样式表包含为每个屏幕宽度定制的完整代码.浏览器仅加载适用的浏览器.例如:

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)

优点:

  • 整洁有序
  • 只需要一个HTTP请求
  • 浏览器只加载他们需要的东西

缺点:

  • (这就是为什么我对使用它犹豫不决:)当一个人做出适用于所有屏幕宽度的更改时,必须将更改复制并粘贴到所有样式表中的相应位置.

3.单独的样式表,一个全局样式表

与#1相同,但全局样式和媒体查询位于不同的样式表中.例如:

HTML

<link rel="stylesheet" href="main.css">
<link rel="stylesheet" …
Run Code Online (Sandbox Code Playgroud)

css stylesheet css3 media-queries

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

安装Ruby on Rails时出错:"无法构建gem原生扩展"

我正在运行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)

ruby-on-rails

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

用于防止SQL注入和XSS的PHP函数

我想让我的PHP尽可能安全,我想避免的两个主要问题是

  • mySQL注射
  • 跨边脚本(XSS)

这是我针对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?最后,还有什么我可以添加到此功能,以防止其他形式的黑客攻击?

php mysql xss sql-injection

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

在HTML中获取<input>按钮和<a>大小相等

我在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样式,然后输入按钮比链接更令人烦恼(高度)(尽管在浏览时几乎看不到).

我创建了一个jsFiddle来演示.

其他论坛上的人要求重置CSS,所以我也将其包括在内,即使删除它也不能解决问题.

如何让链接和输入按钮达到相同的高度?我错过了一些明显的东西吗?是否有CSS技巧让它们达到相同的高度?

html css input hyperlink

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

Rails字段"不能为空",即使它不是空白

我正在使用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,我都会收到错误"日期不能为空",即使它不是空白.这里发生了什么?

validation ruby-on-rails-3

9
推荐指数
1
解决办法
5755
查看次数

我对PHP Post/Redirect/Get感到困惑

一篇关于阻止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?如你所见,我有点困惑.

谢谢你的帮助.

html php forms post get

7
推荐指数
1
解决办法
8342
查看次数

在jQuery中进行宽度转换

我有一个图像,当它徘徊时,我希望它的宽度增加使用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)

javascript jquery animation transition image

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

这个Ruby代码做了什么?:def self.metaclass; 班级"自我; 自; 结束; 结束

以下是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)

ruby metaprogramming class object

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

检测图像是否在Javascript中被破坏

我正在使用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?

注意:我仍在寻找解决方案,因为迄今为止发布的两个都没有奏效.

javascript html5 canvas image

5
推荐指数
2
解决办法
3409
查看次数

CSS选择颜色在Chrome上表现奇怪

我正在尝试使用CSS ::selection伪元素更改我网站的选择颜色 .

正如在这个jsFiddle中看到的那样,文本在被选中时应该具有完全黑色的背景颜色.在Firefox上,就是这种情况.

但是,在Chrome上,颜色并非绝对是黑色.Chrome似乎在摆弄我的颜色.

如果您在选择时将文本保留为黑色,则可以看到此内容:在Firefox上,它变得不可见,而在Chrome上,您仍然可以看到它.

我已经注意到了这种对我正在使用的其他背景颜色的影响:它们在Chrome上总是有些偏差.在我看来,似乎添加了一点红色.

如何才能在Chrome上获得我想要的真实色彩?

css css3

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