在大多数浏览器中,当html元素仅部分不透明时,其子元素"继承"此不透明度.(这是不太继承 - 更准确,图像整体组装,其中包括母公司及其子递归,然后将不透明度应用于整个事情.)
在IE8中(我也假设IE的早期版本),这并不总是与不透明度有关.如果子元素的位置为:static(默认情况下,如果没有指定位置),那么它就像我上面描述的那样工作.但是,似乎情况是,如果将位置设置为其他任何内容(例如,绝对或相对),则子元素是完全不透明的.
我想知道如何使不透明度正确地影响父元素和子元素,但仍然保持子元素的位置:绝对;
这是一个问题的例子.下面的代码应该是一个半透明的灰色框,在一个垂直的红色条顶部有一个半透明的蓝色周围区域.在Firefox,Chrome等上,这是实际看到的.在IE8上,蓝色框是正确半透明的,但灰色部分是不透明的.
<!doctype html>
<html>
<head>
<style>
div.parentElem
{
background-color:#0000ff;
position: absolute;
left:75px;
top:75px;
width:300px;
height:225px;
opacity:0.5;
filter:alpha(opacity=50);
}
div.childElem
{
background-color:#808080;
position: absolute;
left: 10px;
right: 10px;
top: 10px;
bottom: 10px;
}
div.redBar
{
position: absolute;
left:150px;
top:50px;
height:350px;
width:25px;
background-color: #ff0000;
}
</style>
</head>
<body>
<div class="redBar"></div>
<div class="parentElem">
<div class="childElem"></div>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
显然,这只是一个玩具示例 - 我可以有一个蓝色边框和灰色背景的div,以达到预期的效果.在真实场景中,我正在分层几个不同的div,每个div都有一个png背景图像来动态构建图像.
我的第一个尝试的解决方法是通过将子项上的过滤器设置为alpha(opacity = 50)来对父项和子项应用不透明度; 或者只是设置过滤器:inherit;.这不能达到预期的效果,因为它在它上面形成一个半透明的灰色矩形的半透明蓝色矩形.中间的空白区域最终是半透明的蓝色灰色,而它应该是半透明的灰色.同样,它不能使元素兄弟姐妹.在对任何事物应用任何透明度之前,任何解决方案都需要组合两个图像.
在我的研究中,我发现了一些建议,即应用zoom:1; 或者浮动:无; 内部元素可能会解决问题,但对我来说都没有用.
我最终的解决方法是给子元素位置:static.这是一种丑陋的解决方案,但是我要将它应用于上面的示例是将子元素的样式更改为:
div.childElem
{
background-color:#808080;
position:static;
margin-left:10px;
margin-right:10px;
height:205px;
margin-top:10px;
} …Run Code Online (Sandbox Code Playgroud) 我发现使用原始类型作为JPA的对象@Id与Spring Data JPA一起使用的问题.我在父母方面与Cascade.ALL有父/子关系,而且孩子有PK,同时也是父母的FK.
class Parent {
@Id
private long id;
@OneToOne(mappedBy = "parent", cascade = ALL)
private Child child;
}
class Child {
@Id
@OneToOne
private Parent parent;
}
Run Code Online (Sandbox Code Playgroud)
所以,当我跑:
...
Parent parent = new Parent();
Child child = new Child(parent);
parent.setChild(child);
em.persist(parent)
...
Run Code Online (Sandbox Code Playgroud)
一切正常.但我使用Spring Data JPA来持久保存实体,所以我改为运行:
parentRepository.save(parent); // instead of em.persist(parent);
Run Code Online (Sandbox Code Playgroud)
而且这个失败了以下例外:
Caused by: org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: Parent
Run Code Online (Sandbox Code Playgroud)
问题是Spring Data JPA save()方法检查实体是否是新的,如果是new,则使用em.persist(),否则使用em.merge().
这里有趣的部分是Spring如何检查实体是否是新的: …
我目前在一个阻塞的模块中有一个操作,所以我正在考虑把它变成一个我代替的子进程.
如果我想这样做,那么我当然需要修改我的模块的架构.该模块要求通过将模块作为函数调用来注入依赖项,并传入依赖项,如下所示:
var dependency = { name: "Bob" }
require('worker')(dependency)
Run Code Online (Sandbox Code Playgroud)
然后在我的worker模块中:
module.exports = function (dependency) {
// Outputs { name: "Bob" }
console.log(dependency)
}
Run Code Online (Sandbox Code Playgroud)
如何将此示例转换为分叉的子进程?
我有一个分类表.每个类别都可以有一个可选的父级(如果没有父级,则默认为0).
我想要做的是构建一个包含类别级别的简单html列表树.
示例日期:
Foods
-- Fruit
---- Apple
---- Banana
---- Orange
-- Veg
---- Cucumber
---- Lettuce
Drinks
-- Alcoholic
---- Beer
---- Vodka
Misc
-- Household Objects
---- Kitchen
------ Electrical
-------- Cooking
---------- Stove
---------- Toaster
---------- Microwave
Run Code Online (Sandbox Code Playgroud)
请注意,这需要适用于大约10'级别'.我喜欢它是无限的但我真的不想沿着使用嵌套集模型的路线走下去,因为它会导致这个项目的巨大延迟.
关于laravel的文档是可怕的,没有真正的参考,甚至从哪里开始.我已经玩了几天试图弄清楚要做什么,似乎没有任何地方没有一个巨大的混乱块,每个循环在彼此10次.
我在我的模型中使用以下内容获取了我的数据树:
<?php
class Item extends Eloquent {
public function parent()
{
return $this->hasOne('Item', 'id', 'parent_id');
}
public function children()
{
return $this->hasMany('Item', 'parent_id', 'id');
}
public function tree()
{
return static::with(implode('.', array_fill(0,10, 'children')))->where('parent_id', '=', '0')->get();
}
} …Run Code Online (Sandbox Code Playgroud) 我确定这是一个非常简单的问题,但我只是一个新手所以......
我有一个模特,游戏,哪个has_many :piles.反过来,桩has_many :cards.我可以在创建游戏时填充Piles和Cards,所以我的代码目前看起来像:
class Game < ActiveRecord::Base
has_many :piles
def after_create
1.upto(4) do |num|
Pile.new("game_id" => id, "contents" => "c_type_#{num}")
end
end
end
class Pile < ActiveRecord::Base
has_many :cards
belongs_to :game
def after_create
1.upto(10) do |num|
Card.new("pile_id" => id, "value" => num)
end
end
end
class Card < ActiveRecord::Base
belongs_to :pile
end
Run Code Online (Sandbox Code Playgroud)
现在这一切都很好,但是"game_id" => id当ActiveRecord 知道 game_id是外键并且应该引用父游戏时传递感觉是错误的.但如果我把它关掉,那么外键最终会被取消.有一个更好的方法吗?
(对于奖金,可能更简单,问题;假设游戏也has_one :monkey.我最好如何在游戏模型中创建猴子?)
Hl伙计们,
我正忙着为存在的系统编写后端管理程序.我已经为我的数据访问解决方案选择了NHibernate,并且它是相当新的.我在父/子关系中遇到以下错误:
NHibernate.StaleStateException:意外的行数:0; 预期:1
此错误是由于我的源代码中将新的子对象添加到父级的MeetingAdministrators子集合中.当我保存父对象时,我也希望添加子对象,但是只为父对象生成INSERT.Nhibernate不为子节点生成INSERT,而是尝试更新子节点,即使它不存在.因此,它会显示上面显示的错误消息.我已经浏览了网络上的各个地方和这个场景的nhibernate文档,但没有找到任何帮助.大多数代码涉及不属于主键的外键,或者人们似乎正在处理一对一或多对多关系.我需要指定映射和代码,以便在插入父项时,子项也会被插入.请帮忙.
我的数据结构如下:
会议 - 父表
MeetingAdministrator - 子表
这是Visual Basic .NET源代码:
<Serializable()> _
Public Class MeetingAdministrator
Private _MeetingID As Integer
Public Overridable Property MeetingID() As Integer
Get
Return _MeetingID
End Get
Set(ByVal value As Integer)
_MeetingID = value
End Set
End Property
Private _AdminNetworkID As String
Public Overridable Property AdminNetworkID() As String
Get
Return _AdminNetworkID
End Get
Set(ByVal value As String)
_AdminNetworkID = value
End Set
End …Run Code Online (Sandbox Code Playgroud) 我有一个产生一组孩子的脚本.家长必须等待每个孩子完成.
我的脚本执行类似于以下perl脚本:
#! /usr/bin/perl
use strict;
use warnings;
print "I am the only process.\n";
my @children_pids;
for my $count (1..10){
my $child_pid = fork();
if ($child_pid) { # If I have a child PID, then I must be the parent
push @children_pids, $child_pid;
}
else { # I am the child
my $wait_time = int(rand(30));
sleep $wait_time;
my $localtime = localtime;
print "Child: Some child exited at $localtime\n";
exit 0; # Exit the child
}
}
foreach my $child (@children_pids) …Run Code Online (Sandbox Code Playgroud) 实体框架5.0代码首先使用现有数据库.使用电动工具反向设计类.一切都很好.数据库有两个表.一个父项和一个子项,外键返回父ID.ID都是自动增量的int.我添加了许多父记录,现在想要将子记录添加到特定父级.我可以看到这样做的唯一方法是通过在Parents表中搜索名称或其他属性来查找相应的父ID,并返回ID.然后在添加子项时在外键属性中使用该ID.我不想创建一个新的父母,所以这是将孩子添加到现有父母的唯一方法吗?所有的互联网示例似乎都添加了一个孩子,同时添加了一个新的父级,而不是将子级添加到现有的父级.任何帮助将不胜感激
例:
About
--- Menu 1
--- Menu 2
--- Menu 3
--- Menu 4
Run Code Online (Sandbox Code Playgroud)
如果我在页面...我有子页面.但是,如果进入菜单1,所有页面都会消失
我需要的是一直看到父页面
目前我有这个代码
<? if (is_page()) {
$g_page_id = $wp_query->get_queried_object_id();
wp_list_pages("depth=4&title_li=&child_of=".$g_page_id."&sort_column=menu_order");
}
?>
Run Code Online (Sandbox Code Playgroud)
谢谢!
解决
我用这个并且工作正常!
<?php
if ( is_page() ) :
if( $post->post_parent ) :
$children = wp_list_pages( 'title_li=&child_of='.$post->post_parent.'&echo=0' );
else;
$children = wp_list_pages( 'title_li=&child_of='.$post->ID.'&echo=0' );
endif;
if ($children) : ?>
<div class="title">
<?php
$parent_title = get_the_title( $post->post_parent );
echo $parent_title;
?>
<span></span>
</div>
<ul>
<?php echo $children; ?>
</ul>
<?php
endif;
endif;
?>
Run Code Online (Sandbox Code Playgroud) 我正在寻找一种方法来从后代类访问Fortran类的私有组件(Fortran术语中的派生类型).例如,假设类A具有组件x,它被声明为私有.现在考虑继承自基类A的第二个类B.在这种情况下,类B没有对x的直接访问,因此不允许任何尝试访问B%x.我能想到的两个解决方案是:
(1)声明x为公共.但是,这将使x全局可访问,这会滥用数据隐藏,因此作为问题的可接受解决方案被拒绝.
(2)实现获取/设置A%x的过程,例如A%getX()和A%setX().这不仅麻烦,而且还允许(间接)访问程序中的A%x - 不仅仅是在子类中.
我想要的是一种从A的子类访问A%x的方法,但是否则x应该在其他地方不可访问.C++具有"受保护"属性用于此目的,但据我所知,Fortran 2003中的"protected"属性具有不同的含义(它使得A%x在任何地方都可访问并且仅保护其值,这在课堂外不能更改).
parent-child ×10
php ×2
css ×1
css-position ×1
eloquent ×1
foreign-keys ×1
fork ×1
fortran ×1
inheritance ×1
java ×1
jpa ×1
laravel ×1
laravel-4 ×1
nhibernate ×1
node.js ×1
opacity ×1
perl ×1
private ×1
process ×1
ruby ×1
spawn ×1
waitpid ×1
wordpress ×1