Bagaimana cara menyelaraskan elemen div?
Tubuh saya dokumen html terdiri dari 3 elemen, tombol, bentuk, dan kanvas. Aku ingin tombol dan bentuk harus benar selaras dan kanvas untuk menginap kiri sejajar. Masalahnya adalah ketika saya mencoba untuk menyelaraskan dua elemen pertama, mereka tidak lagi mengikuti satu sama lain dan bukannya di samping satu sama lain secara horizontal?, berikut kode yang saya punya sejauh ini, aku ingin bentuk untuk mengikuti langsung setelah tombol di sebelah kanan dengan tidak ada ruang di antara.
#cTask {
background-color: lightgreen;
}
#button {
position: relative;
float: right;
}
#addEventForm {
position: relative;
float: right;
border: 2px solid #003B62;
font-family: verdana;
background-color: #B5CFE0;
padding-left: 10px;
}
<!DOCTYPE html>
<html lang="en">
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js"></script>
<script type="text/javascript" src="timeline.js"></script>
<link rel="stylesheet" href="master.css" type="text/css" media="screen" />
</head>
<body bgcolor="000" TEXT="FFFFFF">
<div id="button">
<button onclick="showForm()" type="button" id="cTask">
Create Task
</button>
</div>
<div id="addEventForm">
<form>
<p><label>Customer name: <input></label></p>
<p><label>Telephone: <input type=tel></label></p>
<p><label>E-mail address: <input type=email></label></p>
</form>
</div>
<div>
<canvas id="myBoard" width="1000" height="600">
<p>Your browser doesn't support canvas.</p>
</canvas>
</div>
</body>
</html>
292
11
mengapung ok, tapi bermasalah dengan ie6 & 7.
i'a lebih memilih untuk menggunakan
margin-left:auto; margin-right:0;
di dalam div.Anda dapat membuat sebuah div yang berisi bentuk & tombol, kemudian membuat div float ke kanan dengan menetapkan
float: right;
.Jawaban yang tua. Update: gunakan flexbox, cukup banyak bekerja di semua browser yang sekarang.
Dan anda bisa mendapatkan bahkan lebih menarik, cukup:
Dan lebih menarik:
Jawaban lain untuk pertanyaan ini adalah tidak begitu baik sejak
float:right
bisa pergi ke luar dari orang tua div (overflow: hidden untuk orang tua kadang-kadang mungkin bisa membantu) danmargin-left: auto, margin-right: 0
bagi saya didn't bekerja di kompleks bersarang div (I didn't menyelidiki mengapa).I've tahu bahwa untuk unsur-unsur tertentu
text-align: right
bekerja, dengan asumsi ini bekerja ketika elemen dan orang tua yang baikinline
atauinline-block
.Catatan:
text-align
CSS properti menggambarkan bagaimana inline konten seperti teks sejajar di blok induknya elemen.text-align
tidak mengontrol penyelarasan blok elemen itu sendiri, hanya mereka inline konten.Contoh:
[Di sini's JS Fiddle][1].
Maksudmu seperti ini? http://jsfiddle.net/6PyrK/1
Anda dapat menambahkan atribut
float:right
danclear:both;
untuk form dan tombolJika anda memiliki beberapa divs yang anda inginkan selaras berdampingan di ujung kanan div induk, set
text-align: right;
pada orang tua div.Anda dapat menggunakan
flexbox
denganflex-tumbuh
untuk mendorong elemen terakhir ke kanan.``
Jika anda don't harus mendukung IE9 dan di bawah ini anda dapat menggunakan flexbox untuk memecahkan masalah ini: codepen
Ada's juga beberapa bug dengan IE10 dan 11 (flexbox dukungan), tapi mereka tidak hadir dalam contoh ini
Anda dapat vertikal menyelaraskan
<tombol> dan<form>
dengan membungkus mereka dalam sebuah wadah denganflex-arah: kolom
. Sumber urutan unsur-unsur yang akan menjadi urutan di mana mereka're ditampilkan dari atas ke bawah sehingga aku mengatur kembali mereka.Anda kemudian dapat secara horizontal menyelaraskan bentuk & tombol wadah dengan kanvas dengan membungkus mereka dalam sebuah wadah dengan
flex-arah: baris
. Lagi sumber urutan unsur-unsur yang akan menjadi urutan di mana mereka're ditampilkan dari kiri ke kanan jadi saya mengatur kembali mereka.Juga, ini akan mengharuskan anda untuk menghapus semua
posisi
danfloat
gaya-aturan dari kode yang terkait dalam pertanyaan.Berikut ini's terpangkas versi HTML di codepen terkait di atas.
Dan di sini adalah relevan CSS
Anda hanya dapat menggunakan padding-left:60% (bagi ex) untuk menyelaraskan konten ke kanan dan secara bersamaan bungkus isi responsif dalam wadah (saya diperlukan navbar di kasus saya) untuk memastikan itu bekerja pada semua contoh.
Jika anda menggunakan bootstrap, maka:
Saya tahu ini adalah sebuah posting lama tapi tidak't anda hanya menggunakan
<div id=xyz align="benar">
untuk kanan.Anda hanya bisa ganti right dengan left, center, dan justify.
Bekerja di situs saya:)