- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试创建一个 CSS 动画以将单击的按钮(实际上,它包含在其中的整个 DIV)移动到中心。每个按钮都在一个 Div 中,我无法弄清楚如何使用一个 css 类让任何按钮移动到中心。
我在css中尝试了多种方式,但一直没能在其他按钮不动的地方做到这一点。
Codepen 是 here .
如果您运行代码并单击“DIV0”按钮,它将移动到中心。 (再次单击该按钮以重置。)当您单击任何其他按钮时,我希望它们与“DIV0”按钮所在的位置相同。
更新:我需要以编程方式设置 DIV/按钮(将“divs”数组传递给 HTML,以便 ng-repeat 构建布局)。 “divs”数组的大小可能会有所不同,因此执行此方法会自动构建布局。此外,div 需要占据宽度和高度的 50%,以便它在屏幕上排列出一个 2-divs-cross 矩阵。每个 div 将完全填充图像和文本。我试图将 div 的全部内容移到中心,而不仅仅是按钮。
所以我的布局可能是这样的:
DIV0 DIV1
DIV2 DIV3
或者只是:
DIV0 DIV1
DIV2
这是另一个codepen。 http://codepen.io/furnaceX/pen/BKjyEp/这一个将所有按钮都放在正确的位置,但居中不会设置动画。有什么想法吗?
angular.module('myApp', [])
.controller("ctrl", ['$scope', function($scope) {
$scope.divs = [{id: 0, center: false}, {id: 1, center: false},
{id: 2, center: false}, {id: 3, center: false}];
$scope.fade = false;
$scope.go = function(div) {
if (!$scope.fade) {
div.center = true;
console.log("click again to reset");
$scope.fade = true;
} else {
div.center = false;
$scope.fade = false;
}
}
}])
html, body {
height: 100%;
width: 100%;
}
.block {
text-align: center;
width: 50%;
height: 50%;
float: left;
}
.center {
transition:0.5s linear all;
transform: translate(50%,50%);
top: 50%;
left: 50%;
//position: relative;
}
.fadeout {
transition:0.5s linear all;
opacity: 0 !important;
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp">
<div class="container" ng-controller="ctrl">
<div ng-repeat="div in divs" class="block">
<div ng-class="{center: div.center, fadeout: fade*!div.center}">
<button ng-click="go(div)">DIV{{ div.id }}</button>
</div>
</div>
</div>
</div>
最佳答案
使用checkbox的纯CSS方案(貌似是个按钮,其实是checkbox undercover):
更新了 4 个按钮
body {
width: 100%;
height: 100vh;
margin: 0px;
background: honeydew;
}
label > input {
display: none;
}
#button0 {
position: absolute;
line-height: 45px;
font-weight: bold;
text-align: center;
display: inline-block;
height: 50px;
width: 50px;
border: 2px dashed black;
box-sizing: border-box;
left: 0;
right: 0;
margin: auto;
top: 50%;
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%);
opacity: 0.5;
}
label > input ~ .button {
cursor: pointer;
position: absolute;
line-height: 45px;
font-weight: bold;
text-align: center;
display: inline-block;
height: 50px;
width: 50px;
border: 2px solid crimson;
box-sizing: border-box;
-webkit-transition: all 1s ease-in-out;
transition: all 1s ease-in-out;
user-select: none;
-webkit-user-select: none;
}
label > input ~ #button1 {
left: 0;
top: 0;
background: gold;
}
label > input ~ #button2 {
left: calc(100% - 50px);
top: calc(100% - 50px);
background: yellowgreen;
}
label > input ~ #button3 {
left: calc(100% - 50px);
top: 0;
background: skyblue;
}
label > input ~ #button4 {
left: 0;
top: calc(100% - 50px);
background: tomato;
}
label > input:checked ~ #button1, label > input:checked ~ #button2, label > input:checked ~ #button3, label > input:checked ~ #button4 {
left: calc(50% - 25px);
top: calc(50% - 25px);
border: 2px solid black;
-webkit-transition: all 3s ease-in-out;
transition: all 3s ease-in-out;
}
<div id=button0 class=button>target</div>
<label>
<input type="checkbox" name="run" value="click" />
<div id=button1 class=button>click</div>
</label>
<label>
<input type="checkbox" name="run" value="click" />
<div id=button2 class=button>click</div>
</label>
<label>
<input type="checkbox" name="run" value="click" />
<div id=button3 class=button>click</div>
</label>
<label>
<input type="checkbox" name="run" value="click" />
<div id=button4 class=button>click</div>
</label>
关于html - 单击时如何使用 CSS 和/或 Angular 将 DIV 移动到中心?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35826666/
只是想知道 Jquery Mobile 是否足够稳定以用于实时生产企业移动应用程序。 有很多 HTML5 框架,因为我们的团队使用 JQuery 已经有一段时间了,我们更愿意使用 Jquery 移动框
关闭。这个问题需要details or clarity .它目前不接受答案。 想改进这个问题吗? 通过 editing this post 添加细节并澄清问题. 关闭 3 年前。 Improve t
所以我尝试在 JavaScript 中对元素进行拖放。我使用的视频教程在这里; https://www.youtube.com/watch?v=KTlZ4Hs5h80 。我已经按照它的说明进行了编码,
无法在移动 iOS(safari 和 chrome)上自动播放以前缓存的 mp3 音频 我正在 Angular 8 中开发一个应用程序,在该应用程序的一部分中,我试图在对象数组中缓存几个传入的音频 m
Git 基于内容而不是文件,所以我目前理解以下行为,但我想知道是否有特殊选项或 hack 来检测此类事情: git init mkdir -p foo/bar echo "test" foo/a.tx
我正在寻找语义 ui 正确的类来隐藏例如移动 View 中的 DIV。在 Bootstrap 中,我们有“visible-xs”和“hidden-xs”。 但是在语义ui上我只找到了“仅移动网格” 最
我正在使用 ubuntu 和 想要移动或复制大文件。 但是当我与其他人一起使用服务器时,我不想拥有所有内存并使其他进程几乎停止。 那么有没有办法在内存使用受限的情况下移动或复制文件? 最佳答案 如果你
这些指令有什么区别?以 ARM9 处理器为例,它不应该是: ASM: mov r0, 0 C: r0 = 0; ASM: ld r0, 0 C: r0 = 0; ? 我不知道为什么要使用一个或另一个:
我有一个文件夹,其中包含一些随机命名的文件,其中包含我需要的数据。 为了使用数据,我必须将文件移动到另一个文件夹并将文件命名为“file1.xml” 每次移动和重命名文件时,它都会替换目标文件夹中以前
我经常在 IB/Storyboard 中堆叠对象,几乎不可能拖动其他对象后面的对象而不移动前面的对象。无论如何我可以移动已经选择但位于其他对象后面的对象吗?当我尝试移动它时,它总是选择顶部的对象,还是
几个月前,我看到 Safari 7 允许推送通知,它似乎是一个非常有用的工具,除了我看到的每个示例都专注于桌面浏览,而不是移动设备。 Safari 推送通知是否可以在移动设备上运行,如果没有,是否有计
我有一个简单的 View 模型,其中包含修改后的 ObservableCollection使用 SynchronizationContext.Current.Send在 UI 线程上执行对集合的更改。
关于cassandra创建的数据文件和系统文件的位置,我需要移动在“cassandra.yaml”配置文件中设置的“commitlog_directory”、“data_file_directorie
我有这个代码 $(function() { var message = 'Dont forget us'; var original; var txt1 = ' - '; $(wind
我的客户报告说他的网站有一个奇怪的问题。该网站的 URL 是 your-montenegro.me 在 基于 Android 的浏览器 上加载时,页面底部会出现一个奇怪的空白区域。以下是屏幕截图: 华
我有这个 HTML 标记: Express 300 bsf Sign Up 我需要将元素从 DOM 上的一个
我有一个可重新排序的 TableView (UITableView 实例)。尽管我已经实现了 UITableViewDataSource 方法: tableView:moveRowAtIndexPat
我的客户报告说他的网站有一个奇怪的问题。该网站的 URL 是 your-montenegro.me 在 基于 Android 的浏览器 上加载时,页面底部会出现一个奇怪的空白区域。以下是屏幕截图: 华
我需要在拖放或复制/剪切和粘贴(复制与移动)期间获取操作类型。它是一个 Swing 应用程序,并且实现了 TransferHandle。我在操作结束时需要此信息,在 importData 方法中。 对
我编写了一个具有 add 和 get 方法的 SortedIntList 类。 我调用以下四个方法: SortedIntList mySortedIntList = new SortedIntList
我是一名优秀的程序员,十分优秀!