Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 将div放置在另一个div的顶部,不要四处流动_Html_Css_Drupal - Fatal编程技术网

Html 将div放置在另一个div的顶部,不要四处流动

Html 将div放置在另一个div的顶部,不要四处流动,html,css,drupal,Html,Css,Drupal,在我的主页上,我有一个可供用户选择的图片幻灯片。我不希望用户必须修改图像 是一个示例,除了当前的方式,用户必须修改图像 我想做的是在图像顶部有一个div,这样它看起来像是内容区域有一个圆角 如何将“圆角”div放置在图像顶部,而不将图像推到上方?您可以简单地拥有两个div,一个在另一个内部,两个div的宽度和高度都相同。底部一个用于实际照片,即它的背景图像将是照片。顶部有一个透明的背景图像,只有两个圆角: <div id="slideshow"><div id="slidesh

在我的主页上,我有一个可供用户选择的图片幻灯片。我不希望用户必须修改图像

是一个示例,除了当前的方式,用户必须修改图像

我想做的是在图像顶部有一个div,这样它看起来像是内容区域有一个圆角


如何将“圆角”div放置在图像顶部,而不将图像推到上方?

您可以简单地拥有两个div,一个在另一个内部,两个div的宽度和高度都相同。底部一个用于实际照片,即它的背景图像将是照片。顶部有一个透明的背景图像,只有两个圆角:

<div id="slideshow"><div id="slideshow_border"></div></div>

我只是在CSS中使用了任意值。

您可以通过顶部div上的css3 border radius属性实现这一点,但并非所有浏览器都支持它。对于基于图像的解决方案,类似于:

html

我假设你能猜出你想要的左上和右下图像是什么。。。就在那个角落的圆形部分


我想这就是你想要的?

你在网站上使用jquery吗?如果这样做,您可以使用此插件在dom元素上生成圆角:www.jquery.malsup.com/corner/或此插件:www.dillerdesign.com/experience/DD_roundies/。两者都工作得很好,支持包括IE6在内的所有浏览器。如果需要,可以使用此插件检测IE6

使用CSS3的
border radius
属性,您可以非常轻松地实现这一点,并且不需要覆盖
div
或任何东西。它在IE8及以下版本中不起作用,但在Webkit和Firefox中起作用

#slideshow img {
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
}

这里的问题是什么?如果您询问如何将div置于另一个div之上,请使用
position
属性来控制itI。我编辑了问题以明确说明我的问题。使用
position的问题:绝对
是相对于页面的位置,而不是包含div的位置。因此,如果我的页眉高度因任何原因发生变化,那么我的圆角就位于错误的位置。或者,我不明白吗?这就是容器上的位置:relative。绝对位置并不总是相对于页面的。它是相对于它的容器的,但是如果它的容器也有绝对位置(或静态),那么它是相对于它的容器的,是的,可能是页面。试试看!位置:容器上的相对位置是执行此操作的关键点!我没有显式地将包含div设置为
位置:relative。谢谢。
#slideshow {
 width: 400px; height: 400px;
 background-image: url(images/slideshow1.png);
}
#slideshow .border {
 width: 50px; height: 50px;
}
#slideshow .border.left {
 float: left;
 background-image: url(images/border-left.gif);
}
#slideshow .border.right {
 float: right;
 margin-top: 350px;
 background-image: url(images/border-right.gif);
}
<div id="container">
  <div id="image"><img src="blah.jpg" /></div>
  <div id="round">
    <img id="topLeftRound" src="leftRound.png" />
    <img id="bottomRightRound" src="rightRound.png" />
  </div>
</div>
#container{
  position:relative
  }
  #image{
    position:absolute;
    top:0;left:0;
    height:100%;
    z-index:10;
  }
  #round{
    position:absolute;
    top:0;left:0;
    height:100%;
    z-index:20;
    }
    #topLeftRound{
      position:absolute;
      width:10px;height:10px /* or whatever */
      top:0;left:0;
    }
    #bottomRightRound{
      position:absolute;
      width:10px;height:10px /* or whatever */
      bottom:0;right:0;
}
#slideshow img {
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
}