我试图让一个文本链接显示在部分透明的图像上,而这个图像又位于纯色背景的顶部.我希望在打印页面时打印链接文本和图像,而不是彩色背景.(这就是为什么我没有使用background-image属性)
问题是虽然链接显示在图像的顶部,并且图像根据需要显示在背景的顶部,但无法单击链接.在我看来,如果链接出现在顶部,那么它应该容易受到鼠标事件的影响......
这种情况至少发生在以下浏览器中:Firefox 6.0(Windows + Linux),Firefox 3.6(Windows)和Internet Explorer 7.
如果这是我的HTML/CSS或浏览器的问题,请有人告诉我吗?
这里有一些HTML来演示这个问题:
<html>
<head>
<title>Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<div style="position: relative;z-index: -2; background-color:#333; height:200px;">
<img style="position: absolute;top: 0;left: 0;z-index: -1;" src="http://upload.wikimedia.org/wikipedia/commons/thumb/4/47/PNG_transparency_demonstration_1.png/280px-PNG_transparency_demonstration_1.png" alt="Dice" />
<a style="padding:50px; color:#fff;z-index:0;" href="#">Can you click me?</a>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
干杯!
亚历克斯
我正在尝试使用JPA Criteria API实现以下类似的功能:
SELECT b FROM Box b JOIN SpecialItem s WHERE s.specialAttr = :specialAttr
Run Code Online (Sandbox Code Playgroud)
对象是
框
@Entity
public class Box implements Serializable {
...
@ManyToOne
@JoinColumn( name = "item_id" )
Item item;
...
}
Run Code Online (Sandbox Code Playgroud)
项目
@Entity
@Inheritance( strategy = InheritanceType.JOINED )
public class Item implements Serializable {
@Id
private String id;
...
}
Run Code Online (Sandbox Code Playgroud)
SpecialItem
@Entity
public class SpecialItem extends Item {
private String specialAttr;
...
}
Run Code Online (Sandbox Code Playgroud)
我的尝试
EntityManager em = getEntityManager();
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery cq = cb.createQuery( …Run Code Online (Sandbox Code Playgroud) 我基本上有以下几个类:
@Entity
@Table( name="user" )
@Inheritance( strategy = InheritanceType.JOINED )
public abstract class User implements Serializable
{
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue( strategy = GenerationType.IDENTITY )
@Column( name = "id" )
private Long id;
@Column( name = "email_address" )
private String emailAddress;
/* getters and setters not shown */
}
Run Code Online (Sandbox Code Playgroud)
和
@Entity
@Table( name="admin" )
public class Admin extends User implements Serializable
{
private static final long serialVersionUID = 1L;
@Column( name = "role" )
private …Run Code Online (Sandbox Code Playgroud) 给定以下实体,如何构建 JPA 谓词以仅选择类别集中具有给定 ID 的类别的项目?
@Entity
public class Item
{
@Id
private String id;
private String name;
@JoinTable(name="category_items",
joinColumns={@JoinColumn(name="item_id")},
inverseJoinColumns={@JoinColumn(name="category_id")})
private Set<Category> categories;
/* etc */
}
@Entity
public class Category
{
@Id
private String id;
private String name;
/* etc */
}
Run Code Online (Sandbox Code Playgroud)
如果我手头有 Category 对象,我想我可以做到:
Predicate buildPredicate( CriteriaBuilder cb, Root root, Category category )
{
Expression<Collection<Category>> categories = root.get( "categories" );
return cb.isMember( category, categories );
}
Run Code Online (Sandbox Code Playgroud)
但我的问题是:我可以只使用 Category.id 字符串吗?在 SQL 中,它类似于
SELECT item.id, item.name FROM item JOIN category_items …Run Code Online (Sandbox Code Playgroud) 定期Clojure的REPLclojure.main/repl接受类似的选项:print,:prompt并且:eval可以让你钩,并覆盖REPL的行为。
例如
(clojure.main/repl
:print #(println "main print!" %)
:prompt #(println "main prompt!")
:eval #(do (println "main eval!") (eval %)))
Run Code Online (Sandbox Code Playgroud)
我假设 Leiningen:repl-options允许您指定相同的选项,而 Leiningen 会将它们传递给 Clojure 的 repl。在 Leiningen 的 repo 中甚至有一个提示:
我不能让它工作。似乎 Leiningen 不接受与clojure.main/repl. :prompt有效,尽管函数签名不同,:print并且:eval似乎被忽略了。
有没有办法改变莱宁根 repl 中的打印和评估行为?
我的project.clj:
(defproject repl-test "0.1.0-SNAPSHOT"
:dependencies [[org.clojure/clojure "1.7.0"]]
:repl-options {
:print #(println "lein print!" %)
:prompt (constantly "lein prompt!") …Run Code Online (Sandbox Code Playgroud) 我是Neo4J的新手,我想尝试一下我从MySQL导出的一些数据.我已经运行了社区版neo4j console,我正在使用neo4j-shell命令行客户端输入命令.
我有2个CSV文件,用于创建2种类型的节点,如下所示:
USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM "file:/tmp/updates.csv" AS row
CREATE (:Update {update_id: row.id, update_type: row.update_type, customer_name: row.customer_name, .... });
CREATE INDEX ON :Update(update_id);
USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM "file:/tmp/facts.csv" AS row
CREATE (:Fact {update_id: row.update_id, status: row.status, ..... });
CREATE INDEX ON :Fact(update_id);
Run Code Online (Sandbox Code Playgroud)
这给了我大约650,000个更新节点和21,000,000个Fact节点.
索引在线后,我尝试在节点之间创建关系,如下所示:
MATCH (a:Update)
WITH a
MATCH (b:Fact{update_id:a.update_id})
CREATE (b)-[:FROM]->(a)
Run Code Online (Sandbox Code Playgroud)
这失败了OutOfMemoryError.我相信这是因为Neo4J在事务完成之前不会提交事务,而是将其保留在内存中.
我该怎么做才能防止这种情况发生?我已经读过USING PERIODIC COMMIT但看起来这只在阅读CSV时有用,因为它在我的情况下不起作用:
neo4j-sh (?)$ USING PERIODIC COMMIT
> MATCH …Run Code Online (Sandbox Code Playgroud) 我想使用Clojure core.async来编写一个循环轮询服务的应用程序,但我的尝试到目前为止意外终止.
当我运行这个程序时,它打印消息然后退出:
(defn -main
[]
(println "Running forever...?")
(async/go-loop [n 0]
(prn n)
(async/<!! (async/timeout 1000))
(recur (inc n))))
Run Code Online (Sandbox Code Playgroud)
我希望程序永远运行(直到JVM进程被终止).
实现这一目标的可接受方式是什么?
我希望我的 Node JS 应用程序在无法连接到 Mongo 时立即退出。我正在使用mongodb节点库。
我已将代码减少到
const {MongoClient} = require('mongodb');
MongoClient.connect('mongodb://localhost:27017');
Run Code Online (Sandbox Code Playgroud)
如果 Mongo 没有运行,我会得到一个UnhandledPromiseRejectionWarningwith ECONNREFUSED,这是我完全期望的,但程序会挂起并且永远不会退出。这是 Node 版本 10.0.0 的情况。
由于连接从未成功,我没有要关闭的连接句柄。我已经尝试了各种方法来catch拒绝承诺,但我没有成功地让程序退出。
在这种情况下我需要做什么来关闭 MongoClient 并使程序退出?