小编Ric*_*fer的帖子

是:不是(:悬停)和:悬停一种安全的方式来隐藏可访问的元素?

有时,使某些页面元素仅在例如悬停时可见是有帮助的.一个例子是stackoverflow的"反馈 - 这个帖子对你有用吗?" - 小部件.由于这些元素可能对界面至关重要,因此这种悬停式展示功能应该是渐进式增强功能,或者换句话说,不引人注目且优雅地降级.

通常的方法似乎是使用javascript,例如隐藏元素并在父元素悬停时使它们可用.这种选择的原因可能:hover是不支持所有元素,特别是在旧版浏览器中,从而禁止您首先隐藏元素,直到css2.(对于js/jQuery示例cf. jquery显示悬停时的元素)

我想知道你是否可以安全地使用纯css3实现这样的功能,使用:not(:hover):hover不影响旧版浏览器.据我所知,要求是每个支持的浏览器都:not()必须支持:hover所有元素.根据以下消息来源,情况似乎如此

示例实现:http://jsfiddle.net/LGQMJ/

你怎么看?有任何异议或其他来源吗?

*安全地我的意思是浏览器应该始终显示所有元素作为最后的手段.

css progressive-enhancement hover css-selectors css3

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

获取包含属性的开始标记 - 没有innerHTML的outerHTML

我想从DOM中检索某个带有其属性的标记元素.例如,来自

<a href="#" class="class">
  link text
</a>
Run Code Online (Sandbox Code Playgroud)

我希望得到<a href="#" class="class">,可选择关闭</a>,作为字符串或其他对象.在我看来,这类似于检索.outerHTML没有的.innerHTML.

最后,我需要通过jQuery包装其他一些元素.我试过了

var elem = $('#some-element').get(0);
$('#some-other-element').wrap(elem);
Run Code Online (Sandbox Code Playgroud)

.get()返回包含其内容的DOM元素.也

var elem = $('#some-element').get(0);
$('#some-other-element').wrap(elem.tagName).parent().attr(elem.attributes);
Run Code Online (Sandbox Code Playgroud)

失败,因为elem.attributes返回a NamedNodeMap不能与jQuery一起工作,attr()我无法转换它.承认上面的例子不是很有意义,因为它们还复制了元素的不再唯一ID.但有什么简单的方法吗?非常感谢.

javascript jquery dom innerhtml outerhtml

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

具有多个env_files的docker-compose.yml

我试图让一个docker-compose文件处理多个.env文件,我没有运气.我正在尝试设置三个.env文件:

  • 所有容器实例中的全局设置相同
  • 特定于环境的设置(仅用于测试或开发的东西)
  • 本地设置 - 开发人员可能需要更改的可覆盖的东西,以防它们与端口号发生冲突

我的docker-compose.yml文件看起来像这样:

version: '2'
services:
  db:
    env_file:
      - ./.env
      - ./.env.${ENV}
      - ./.env.local
    image: postgres
    ports:
      - ${POSTGRES_PORT}:5432
Run Code Online (Sandbox Code Playgroud)

.env 看起来像这样:

POSTGRES_USER=myapp
Run Code Online (Sandbox Code Playgroud)

.env.development看起来像这样:

POSTGRES_PASSWORD=supersecretpassword
POSTGRES_HOST=localhost
POSTGRES_PORT=25432
POSTGRES_DB=myapp_development
Run Code Online (Sandbox Code Playgroud)

.env.local 在这种情况下不存在.

运行后ENV=development docker-compose up,我收到以下输出:

$ ENV=development docker-compose up
WARNING: The POSTGRES_PASSWORD variable is not set. Defaulting to a blank string.
WARNING: The POSTGRES_DB variable is not set. Defaulting to a blank string.
WARNING: The POSTGRES_PORT variable is not …
Run Code Online (Sandbox Code Playgroud)

docker docker-compose

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

派生镜像时继承了哪些 Dockerfile 指令?

假设我有两个 Dockerfile,用于创建带有各自标签的图像:

Dockerfile.A:

FROM some-image

...
EXPOSE 9000

ENTRYPOINT ["some-script.sh"]
Run Code Online (Sandbox Code Playgroud)

Dockerfile.B:

FROM A 

...
Run Code Online (Sandbox Code Playgroud)

当我运行镜像 B 时,容器是否也暴露了我在 中定义的端口Dockerfile.A,并运行在那里定义的入口点脚本?

更一般地说,除了文件系统层之外,哪些指令是从基础 Dockerfile 继承的?

docker dockerfile

10
推荐指数
1
解决办法
1240
查看次数

如何从另一个账户的EC2实例访问AWS ECR?

我有两个帐户,a1并且a2.

我在 a1, 中有一个 EC2 实例a1.ec2。它在该帐户中承担某些角色a1.r。此角色具有对所有 ECR 操作的完全访问权限。

现在,我有一个图像注册表 (ECR),a2并且希望能够从a1.ec2.

因此,我通过 ssh 进入该实例,并为了测试我运行的访问

aws ecr describe-repositories --region <my-region> --registry-id <id of a2>
Run Code Online (Sandbox Code Playgroud)

但我得到了错误

An error occurred (AccessDeniedException) when calling the DescribeRepositories operation: User: arn:aws:sts::<id of a1>:assumed-role/a1.r/i-075fad654b998275c is not authorized to perform: ecr:DescribeRepositories on resource: arn:aws:ecr:*:*:repository/*
Run Code Online (Sandbox Code Playgroud)

然而,这个权限确实是授予了该角色的a1.r。我通过能够a1很好地访问 ECR 来验证这一点。

另外,我喜欢访问的 ECR 具有以下权限策略,因此我确保问题不是由以下 ECR 引起的a2

    {
      "Sid": "new statement",
      "Effect": "Allow",
      "Principal": {
        "AWS": …
Run Code Online (Sandbox Code Playgroud)

amazon-ec2 amazon-web-services amazon-ecr

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