gpt4 book ai didi

html - 制作纯 CSS 码头

转载 作者:太空狗 更新时间:2023-10-29 15:02:16 26 4
gpt4 key购买 nike

玩过 CSS 3 之后,我有了一个疯狂的想法,那就是制作一个 OS X 风格的停靠点(一个内部包含元素的 DIV 容器,使用 CSS :hover 子类,在鼠标悬停时增加大小)。但是,我在实现它时遇到了一些奇怪的效果。到目前为止,这是我尝试过的:

代码


<html>
<head>
<style>
body{
margin:0;
}
.dockHolder{
width:100%;
position:absolute;
text-align:center;
display:block;
bottom:0;
}
.dock{
margin-left:auto;
margin-right:auto;
bottom:0;
text-align:center;
}
.dockItem{
height:50%;
display:inline-block;
position:relative;
bottom:0;
vertical-align:bottom;
text-align:center;

transition-property:width, height;
-o-transition-property:width, height;
-moz-transition-property:width, height;
-webkit-transition-property:width, height;
transition-duration:.25s;
-o-transition-duration:.25s;
-moz-transition-duration:.25s;
-webkit-transition-duration:.25s;
transition-timing-function:linear;
-o-transition-timing-function:linear;
-moz-transition-timing-function:linear;
-webkit-transition-timing-function:linear;
}
.dockItem:hover{
height:100%;
width:auto;
}
</style>
</head>
<body>
<div class="dockHolder" style="height:64px;max-height:64px;border:1px solid black;">
<div class="dock" style="background-color:lightgray;">
<center>
<div class="dockItem" style="background-color:magenta;"><img height="100%" src="pony.png" /></div>
<div class="dockItem" style="background-color:magenta;"><img height="100%" src="bhs256.png" /></div>
</center>
</div>
</div>
</body>
</html>

我的测试页面在 http://s.supuhstar.operaunite.com/s/content/testAnims.htm (死于 Opera Unite)如果你想看看我目前拥有的东西。

缺少功能


意想不到的影响包括:

  • 无法放置 dock dockHolder 底部的元素元素
  • dockItem元素不与其子图像一起横向扩展
  • dockItemdock元素不会在 dockHolder 内居中带有 CSS 的容器(尝试过 margin:auto;box-pack:center;box-align:center; 等);只有 <center> HTML 标签有效
  • 在 Opera 和 Firefox 中(我已经放弃了 IE),dockItem s 非常宽
不存在的

预期效果包括:

  • dockItem我们留在 dock 内元素直到调整大小,此时它们按比例增加到 dockHolder 的大小元素,但是 dock元素保持相同大小
  • dock元素的宽度始终只够包含所有 dockItem s 在其中,并且绝不会比所有 dockItem 的组合宽度更宽或更短s 及其边距。

问题


有没有人有解决方案来修复意外效果和/或实现不存在的预期效果?

最终实现


下面是我最终解决方案的代码:

<!DOCTYPE html><html>
<head>
<style type='text/css'>
body{
margin:0;
}
.dockHolder {
position: fixed;
text-align: center;
bottom: 0;
left: 0;
right: 0;
height: 128px;
line-height: 128px;
}

.dock {
background:#CCCCCC;
background:
-o-linear-gradient(top, #AAA 0, #CCC 49%, #AAA 51%, #808080 100%);
background:
-moz-linear-gradient(top, #AAA 0, #CCC 49%, #AAA 51%, #808080 100%);
background:
-webkit-linear-gradient(top, #AAA 0, #CCC 49%, #AAA 51%, #808080 100%);
border: 1px solid gray;
max-width:100%;
vertical-align: bottom;
line-height: 1em;
padding: 0 8px;
border-radius: 100%;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}

.dockItem {
display: inline;
height: 50%;
vertical-align: bottom;

transition-property:width, height;
-o-transition-property:width, height;
-ms-transition-property:width, height;
-moz-transition-property:width, height;
-webkit-transition-property:width, height;
transition-duration:.25s;
-o-transition-duration:.25s;
-ms-transition-duration:.25s;
-moz-transition-duration:.25s;
-webkit-transition-duration:.25s;
transition-timing-function:ease-in-out;
-o-transition-timing-function:ease-in-out;
-ms-transition-timing-function:ease-in-out;
-moz-transition-timing-function:ease-in-out;
-webkit-transition-timing-function:ease-in-out;
}
.dockItem:hover {
height: 100%;
}
.dockItem:active {
vertical-align:top;
height:95%
}
</style>
</head>
<body>
<div class="dockHolder" style="height:128px;line-height:128px;">
<span class="dock">
<img class="dockItem" src="pony.png"/>
<img class="dockItem" src="bhs256.png"/>
<img class="dockItem" src="mcgrass.png"/>
</span>
</div>

</body>
</html>

工作示例(可能过时): http://admin.s.supuhstar.operaunite.com/s/content/testDock.html (与 Opera Unite 同归于尽)

最佳答案

这个怎么样?

HTML:

<div class="dockbg"></div>
<div class="dock">
<img src="foo.png">
<img src="bar.png">
</div>

CSS:

.dockbg {
position: fixed;
bottom: 0;
left: 0;
right: 0;
height: 35px;
background: #bbb;
}

.dock {
position: fixed;
text-align: center;
bottom: 5px;
left: 0;
right: 0;
height: 100px;
line-height: 100px;
}

.dock img {
display: inline-block;
vertical-align: bottom;
height: 50%;
padding: 0 5px;
/* + your animation properties */
}


.dock img:hover {
height: 100%;
}

现场演示: http://jsfiddle.net/simevidas/QM7M7/3/show/

关于html - 制作纯 CSS 码头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7856645/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com