我在为图像浮动div时遇到了麻烦.这是我想要完成的:
.container {
border: 1px solid #DDDDDD;
width: 200px;
height: 200px;
}
.tag {
float: left;
position: relative;
left: 0px;
top: 0px;
z-index: 1000;
background-color: #92AD40;
padding: 5px;
color: #FFFFFF;
font-weight: bold;
}Run Code Online (Sandbox Code Playgroud)
<div class="container">
<div class="tag">Featured</div>
<img src="http://www.placehold.it/200x200">
</div>Run Code Online (Sandbox Code Playgroud)
在这张图片中:

我希望"精选"框浮动在图像的顶部,但它似乎"清除"浮动并导致图像换行到下一行,就像它显示为块元素一样.不幸的是,我无法弄清楚我做错了什么.有任何想法吗?
我不是一个Ruby dev的交易,但我使用Capistrano进行PHP部署.我正在尝试清理脚本的输出,并尝试添加一个unicode复选标记,如本博客中所述.
问题是如果我这样做:
checkmark = "\u2713"
puts checkmark
Run Code Online (Sandbox Code Playgroud)
它输出"\ u2713"而不是✓
我已经google了,我找不到任何讨论这个的地方.
TLDR:我如何puts或printunicode勾选U-2713?
编辑
我在我的Mac(OSX Lion)上运行Ruby 1.8.7,因此无法使用该encode方法.我的shell是iTerm2中的Bash.
我正在使用WordPress插件,我正在努力确保最佳实践.我有两个类,我的插件类"Jargonaut"是必需的,然后是另一个名为"Dictionary"的类,它包含require_once()在我的主插件文件中.
Jargonaut类中的大多数代码都处理初始化并提供类似控制器的功能,但其中大部分都高度依赖于使用Dictionary对象(即根据我对术语的理解紧密耦合).我希望将Dictionary类保持分离,因为它更像是模型(在MVC架构中)并且与我的数据库接口.
我看到紧密与松散耦合中有很多灰色区域,我很难决定多少太多了?
每当我向Eloquent模型添加额外的逻辑时,我最终都必须使它成为一种static方法(即不太理想)才能从模型的外观中调用它.我已经尝试了很多关于如何以正确方式执行此操作的内容,并且几乎所有结果都讨论了创建返回Query Builder接口部分的方法.我试图弄清楚如何添加可以返回任何东西的方法,并使用模型的外观进行调用.
例如,假设我有一个名为的模型,Car并希望得到它们:
$cars = Car::all();
Run Code Online (Sandbox Code Playgroud)
好的,除了现在,假设我想通过make将结果排序为多维数组,所以我的结果可能如下所示:
$cars = array(
'Ford' => array(
'F-150' => '...',
'Escape' => '...',
),
'Honda' => array(
'Accord' => '...',
'Civic' => '...',
),
);
Run Code Online (Sandbox Code Playgroud)
以这个理论为例,我很想创建一个可以被称为的方法:
$cars = Car::getAllSortedByMake();
Run Code Online (Sandbox Code Playgroud)
让我们忘记一下可怕的方法名称以及它与数据结构紧密耦合的事实.如果我在模型中创建这样的方法:
public function getAllSortedByMake()
{
// Process and return resulting array
return array('...');
}
Run Code Online (Sandbox Code Playgroud)
最后在我的控制器中调用它,我将抛出此异常:
非静态方法Car :: getAllSortedByMake()不应该静态调用,假设$ this来自不兼容的上下文
TL; DR:我如何添加有意义的自定义功能,使其成为模型而不使其成为静态方法并使用模型的外观调用它?
这是一个理论上的例子.也许这个问题的改写更有意义.为什么某些非静态方法在Eloquent模型的外观上是可用的,all()或者which()在模型中添加了其他方法?这意味着__call正在使用魔术方法,但是如何让它在模型中识别我自己的函数?
可能比"排序"更好的例子是,如果我需要对一段数据运行计算或算法:
$validSPG = Chemical::isValidSpecificGravity(-1.43);
Run Code Online (Sandbox Code Playgroud)
对我而言,这样的事情在模型中是有道理的,因为它是特定于域的.
我是Browserify(以及一般的Javascript构建系统)的新手,并且已经达到了我彻底困惑的程度.
我有Gulp设置来做我的构建,它一直工作正常,最近我一直在使用Browserify捆绑 - 主要是因为我可以将我的代码分成单独的文件和require()他们需要的地方.
我的问题是,我有一个文件夹,其中有一些我需要在另一个模块中需要的小模块,我试图避免硬编码所有这些模块的名称.有没有办法要求所有文件?
我尝试过使用Bulkify和Folderify但无法让它们工作.例如,使用Bulkify,安装的软件包称为bulkify,位于node_modules文件夹中,但随后它们会告诉您需要bulk-require,它位于bulkify软件包的sub node_modules文件夹中.当我尝试时,Browserify会出现Cannot find module 'bulk-require'...类型错误.
此时我很困惑,因为我不知道为什么这两个的安装方向都不起作用(也不管他们是否会帮助我).我应该在我的Gulp文件中使用它们吗?或者我可以在我的一个模块中使用它们,它会在Browserify期间被调用吗?
如果这有帮助,这是我的构建任务的片段:
// Report Builder
gulp.task('script-builder', function() {
// Unminified
// **********************************************************
browserify({entries: './resources/assets/js/report/builder.js'})
.on('error', function (err) { console.log(err); this.emit('end'); })
.bundle()
.on('error', function (err) { console.log(err); this.emit('end'); })
.pipe(source('builder.js'))
.on('error', function (err) { console.log(err); this.emit('end'); })
.pipe(buffer())
.on('error', function (err) { console.log(err); this.emit('end'); })
.pipe(gulp.dest('./public/js/debug'));
// Minified
// **********************************************************
browserify({entries: './resources/assets/js/report/builder.js'})
.on('error', function (err) { console.log(err); this.emit('end'); …Run Code Online (Sandbox Code Playgroud) 我一直在CentOS 6上使用Capistrano建立PHP部署,并遇到了一个有趣的问题.capistrano工作的方式,它设置这样的文件夹:
当我查看"当前"符号链接时,它指向最新版本.首先,在打开我的网络应用程序时,一切正常.部署新版本后,当前文件夹正确指向新版本,但Web应用程序尝试从旧版本(已在Capistrano清理过程中删除)中加载文件.此外,虚拟主机配置为指向/var/www/myapp.com/current/Public.
符号链接是否以任何方式缓存?
失败的特定PHP代码(初始化我的框架)是这样的:
require_once dirname(dirname(__FILE__)) . '/App/App.php';
App\App::run();
Run Code Online (Sandbox Code Playgroud)
这是在index.php中,目前位于/var/www/app.com/current/Public/index.php.
我的Apache错误日志显示:
PHP致命错误:require_once():未能打开'/var/www/myapp.com/releases/20130826172237/App/App.php'(include_path ='.:/ usr/share/pear:/ usr/share/php ')/var/www/myapp.com/releases/20130826172237/Public/index.php
而当前的符号链接显示:
当前 - >/var/www/zverse/releases/20130826172641
显然是20130826172641!= 20130826172237,后者是以前的版本.
我能看到的任何想法或领域?
我试图找到一个免费的API,提供月相预测,包括月出和月亮.我的基于PHP的潮汐表应用程序正在使用NOAA来获取潮汐和天气数据,但它们似乎并不提供任何月球数据.Google是否将其内置于我不熟悉的API中?
如果没有人知道免费的API(最好是政府提供的),有人知道一个简单的计算方法吗?我已经看过这篇文章,但解决方案正试图以高精度计算它们.如果它稍微偏离,那很好.
假设我<div>在容器中有六个元素<div>.这六个div中的每一个都是正方形并且float: left应用了CSS样式.默认情况下,当它们到达容器的边缘时,<div>它们将换行.
现在,我的问题是,使用Javascript,是否可以确定包装在哪个元素?
如果它们在页面上显示如下:
___ ___
| 1 | | 2 |
----- -----
___ ___
| 3 | | 4 |
----- -----
Run Code Online (Sandbox Code Playgroud)
我试图确定换行发生在第二个和第三个元素之间.如果你想知道我是否已经失去了理智,我试图这样做的原因是如果点击其中一个框,我希望能够通过一些花哨的shQueryy jQuery下拉行之间的信息区域.
___ ___
| * | | ! |
----- -----
| Someinfo|
___ ___
| * | | * |
----- -----
Run Code Online (Sandbox Code Playgroud)
有关确定中断发生位置的任何想法?
PS我浮动并让它自动换行的原因是为了让它具有响应性.现在,如果我调整浏览器大小,它会相应地包装盒子.我不想硬编码列宽.
[编辑] 由于Explosion Pills提供的答案,我能够提出一个解决方案.
// Offset of first element
var first = $(".tool:first").offset().left;
var offset = 0;
var count = 0;
$(".box").each(function () …Run Code Online (Sandbox Code Playgroud) 我已经使用PHP几年了,但到目前为止,从未需要明确地处理序列化,只使用了$_SESSION.现在我有一个项目要求我手动实现某些数据的序列化机制 - 我意识到这个问题也适用$_SESSION.
我有一个包含许多属性的类.大多数这些属性都很小(如内存消耗):数字,相对较短的字符串等.但是该类还包含一些属性,这些属性可能包含HUGE数组(例如,数据库表的整个转储:100,000行,每行100个字段) ).碰巧,这是需要序列化/反序列化的类之一 - 幸运的是,包含大型数组的属性不需要序列化,因为它们本质上是临时工作,并且在必要时进行重建.
在Java中的这种情况下,我只是将属性声明为transient- 并且它将从serialisaion中省略.不幸的是,PHP不支持这样的限定符.
处理的一种方法是它有这样的东西:
class A implements Serializable
{
private $var_small = 1234;
private $var_big = array( ... ); //huge array, of course, not init in this way
public function serialize()
{
$vars = get_object_vars($this);
unset($vars['var_big']);
return serialize($vars);
}
public function unserialize($data)
{
$vars = unserialize($data);
foreach ($vars as $var => $value) {
$this->$var = $value;
}
}
}
Run Code Online (Sandbox Code Playgroud)
然而,这是相当麻烦的,因为serialize每次添加另一个瞬态属性时我都需要更新方法.此外,一旦继承发挥作用,这变得更加复杂 - 处理,因为瞬态属性可能在子类和父类中.我知道,它仍然可行,但我更愿意尽可能多地委托语言,而不是重新发明轮子.
那么,处理瞬态属性的最佳方法是什么?或者我错过了什么,PHP支持这个开箱即用?
我试图找出如何根据当前的设备/媒体查询选择运行一个javascript块.我正在使用Twitter Bootstrap,基本上有两个版本的媒体查询:
@media (min-width: 980px) { ... } <!-- Desktops -->
@media (max-width: 979px) { ... } <!-- Smaller screens/tablets/phones -->
Run Code Online (Sandbox Code Playgroud)
我有一个我生成的地图,但我没有在移动/小屏幕版本中显示它和宽带原因.然而,即使您无法在移动屏幕上看到它,javascript仍会在后台执行.所以,我试图在javascript中找到一种方法,我可以做以下事情:
// Imaginary function
var screenType = getScreenType();
if(screenType == 1) {
// Load map
}
Run Code Online (Sandbox Code Playgroud)
我已经读过人们在他们的媒体查询中将CSS属性设置为特定值,然后尝试根据CSS属性在DOM中找到该元素,但必须有更好的方法.有任何想法吗?