动画Div为100%宽度css(Animate Div to 100% width css)
我试图将div的动画设置为其子宽度的100%。 我正在设置悬停时的最大宽度动画,但它会立即将div推向它,而不是将其平滑地向右移动。 任何人都可以看到为什么它没有正确动画? 如果可能的话,我宁愿不使用javascript。
我复制了下面的小提琴:
进入以下来源
.contents {
white-space:nowrap;
display:inline-block;
.inner {
background:#c3c;
width: 100%;
max-width:50px;
overflow:hidden;
transition: all .3s ease-in-out;
padding: 5px 0 5px 0;
.contents:hover .inner {
max-width:100%;
A bit of text never hurt anyone
Problem
I am trying to animate a div to 100% of it's child's width. I'm animating the max width on hover, but it is pushing the div to it's right away very abruptly instead of animating it smoothly to the right. Can anybody see why it isn't animating correctly? I would prefer not to use javascript if possible.
My Attempt
I have copied the fiddle below:
into the following source
.contents {
white-space:nowrap;
display:inline-block;
.inner {
background:#c3c;
width: 100%;
max-width:50px;
overflow:hidden;
transition: all .3s ease-in-out;
padding: 5px 0 5px 0;
.contents:hover .inner {
max-width:100%;
A bit of text never hurt anyone
最满意答案
百分比是关于您的代码的问题,可能是因为您有width: 100%; 同时你有max-width: 50px; 对于内部阶级。
使用像素修复了这一点。 任何超过盒子大小的像素都会简单地为它设置动画,例如max-width: 1000px; 只会加速动画而不会扩大框边界
.contents {
white-space:nowrap;
display:inline-block;
.inner {
background:#c3c;
width: 100%;
max-width:50px;
overflow:hidden;
transition: all .5s ease-in-out;
padding: 5px 0 5px 0;
.contents:hover .inner {
max-width:1250px;
A bit of text never hurt anyone
The percent is the issue in regards to your code and probably because you have width: 100%; while at the same time you have max-width: 50px; for the inner class .
Using pixels fixes that. any pixels over the size of the boxes will simply animate it faster e.g max-width: 1000px; will just speed up the animation without enlarging the box boundaries
.contents {
white-space:nowrap;
display:inline-block;
.inner {
background:#c3c;
width: 100%;
max-width:50px;
overflow:hidden;
transition: all .5s ease-in-out;
padding: 5px 0 5px 0;
.contents:hover .inner {
max-width:1250px;
A bit of text never hurt anyone
神秘overflow: hidden; 是你的朋友 它阻止浮子附近的元素延伸到浮动体后面 - 我认为这是您要查找的布局。 这里有一些稍微编辑的HTML:我不认为你的id可以有#字符:
inner div 1. Some text...
inner div 2...
这里是CSS来实现你想
您没有考虑的主要事项之一是具有引导列。 我修改了你给我的示例链接并复制了两列而不是一列。 默认情况下,这是示例中代码的当前骨架或更确切的结构 - 示例站点上的当前实现
something inside ...
Taking away the width on the inner div
所有你需要做的是添加padding到你的父容器。 这是更改后的CSS : #container {
width:100%;
height:250px;
background-color:#0183e5;
padding: 10px;
演示 我建议使用box-sizing: border-box; 或calc(100% - 20px) ,不用担心要确定要设置的尺寸。 演示 - box-sizing: border-box; 演示 - calc(100% - 20
百分比是关于您的代码的问题,可能是因为您有width: 100%; 同时你有max-width: 50px; 对于内部阶级。 使用像素修复了这一点。 任何超过盒子大小的像素都会简单地为它设置动画,例如max-width: 1000px; 只会加速动画而不会扩大框边界 .contents {
white-space:nowrap;
display:inline-block;
.inner {
background:#c3c;
width: 100%
干得好: body{
margin:0px;
div {
border-radius: 10px;
#wrapper {
padding: 0%;
#wrap {
float: left;
position: relative;
width: 100%;
#header {
position:fixed;
width:inherit;
z-index:1;
paddi
实现你想要的技巧是在.text上使用width:auto并限制它的max-width .. 新工作的jsFiddle div.roll-button .text {
width: auto;
max-width:0px;
div.roll-button:hover .text {
max-width:100px; /* set this to the maximum allowed value.. */
The trick to achieving what y
出现此问题的原因是padding和border不是width: 100%一部分width: 100% 。 假设你确实想要绝对定位#exp_wrap ,请使用: http : //jsfiddle.net/thirtydot/USvTC/1/ 我删除width: 100% .bar_wrap / #exp_wrap上的width: 100% ,并添加right:5px; 在#exp_wrap 。 块元素(如div默认为width: auto ,并获取完整的可用水平空间。 这类似于width: 100
你需要指定100%的东西......在这种情况下, html/body * {
margin: 0;
padding: 0;
html,
body {
height: 100%;
div {
background: tomato;
width: 100px;
height: 100px;
-webkit-animation: animateThis 1s ease-in;
-webkit-animation-fill-mode: f
动画Div为100%宽度css(Animate Div to 100% width css)问题我试图将div的动画设置为其子宽度的100%。 我正在设置悬停时的最大宽度动画,但它会立即将div推向它,而不是将其平滑地向右移动。 任何人都可以看到为什么它没有正确动画? 如果可能的话,我宁愿不使用javascript。我的尝试我复制了下面的小提琴:进入以下来源.contents {white-spa...
E[att] :选择具有att属性的E元素
E[att="val"],E[att^="val"]:以val开头,E[att$="val"]:以val结尾,E[att*="val"]值中含有val
如:input[type=text]{ color:pink; }
2.伪类选择器(和类选择器权重一样:10)
E:first-child:匹配E元素中的第一个子元素
E:last-child:匹配E元素中的最后一个子元素
E:nth.
一、区分容易混淆的几个属性和值
先区分一下
css
中的几个属性:animation(
动画
)、transition(过渡)、transform(变形)、translate(移动)。
CSS
3中的transform(变形)属性用于内联元素和块级元素,可以旋转、扭曲、缩放、移动元素,它的属性值有以下五个:旋转rotate、扭曲skew、缩放scale和移动translate以及矩阵变形matr...
transition-timing-function
transition-delay
注意: 始终指定transition-duration属性,否则持续时间为0,transition不会有任何效果。
all 0 ease 0
CSS
3
JavaScript 语法:
object.sty
#main
div
:nth-of-type(1) {flex-grow: 1;}
#main
div
:nth-of-type(2) {flex-grow:1 ;transition:flex-grow 5s linear}
#main
div
:nth-of-type(3) {flex-grow: 1;}
#main
div
:nth-
CSS
3
CSS
3是
CSS
2的升级版本,3只是版本号,它在
CSS
2.1的基础上增加了很多强大的新功能,
动画
是其中之一。
动画
又分为,过度
动画
和帧
动画
,属性分别为transition和animation。
过渡
动画
该
动画
对应的属性为transition,该有四个参数
transition:transition-name transition-duration transition-delay transition-timing-function
transition-name:表示参与过渡的属性。如果想要
本人是学生,正在想深入学习html5和
css
3,所以最近在研究用
css
3绘制矢量图,于是就用纯
css
3基于百分比方案绘制了能自适应浏览器
宽度
而自动变化比例的哆啦a梦
动画
,
动画
的宽高比例为:”4:6.5“,
动画
理论上能基于”4:6.5“的宽高比例来无限放大且完美展示,但
动画
的最小宽高建议为:”150px:243.75px“,因为
动画
的边框单位是”px“,
所以本人亲测证实大于或等于此...
<meta name="viewport" content="
width
=device-
width
, initial-scale=1.0">
<meta charset="utf-8">
前几天遇到过这么一个问题。我想让子盒子的
宽度
等于父盒子的
宽度
。
父盒子
宽度
为一个具体值比如说200px.我将子盒子
宽度
设为了
100
%。按道理说应该是可以等于父盒子的
宽度
的,但结果并没有,而是通栏了。然后我又将子盒子
宽度
设为了inherit。结果
宽度
就是父盒子的
宽度
了。
HTML结构如下:
可以使用jQuery的
css
()方法和
animate
()方法来控制
CSS
样式旋转
动画
。首先,使用
css
()方法将要旋转的元素设置为绝对定位,然后使用
animate
()方法来
改变
元素的transform属性,从而达到旋转的效果。例如:
HTML代码:
<
div
id="box"></
div
>
CSS
代码:
#box {
position: absolute;
top: 50%;
left: 50%;
width
:
100
px;
height:
100
px;
background-color: red;
jQuery代码:
$(document).ready(function() {
$('#box').
css
({
'transform-origin': '50% 50%',
'transform': 'rotate(0deg)'
}).
animate
({
'transform': 'rotate(360deg)'
},
100
0);
在上面的代码中,我们使用了jQuery的
css
()方法将要旋转的元素设置为绝对定位,并将transform-origin属性设置为元素中心点,将transform属性设置为旋转0度。然后使用
animate
()方法
改变
transform属性,将元素旋转360度,完成旋转
动画
。