2017年8月31日 星期四
2017年8月29日 星期二
2017年8月17日 星期四
css transition
css :
.status{
position:absolute;
top:0;
height:100%;
opacity:0;
-webkit-transition:opacity 1s ease-in;
moz-transition:opacity 1s ease-in;
o-transition:opacity 1s ease-in;
transition:opacity 1s ease-in;
}
.status h2{
margin-top:130px;
padding: 15px 0px;
width:100%;
background-color:rgb(168,68,163);
color : white;
text-align:center;
}
.status:hover{
opacity:.8;
}
.status{
position:absolute;
top:0;
height:100%;
opacity:0;
-webkit-transition:opacity 1s ease-in;
moz-transition:opacity 1s ease-in;
o-transition:opacity 1s ease-in;
transition:opacity 1s ease-in;
}
.status h2{
margin-top:130px;
padding: 15px 0px;
width:100%;
background-color:rgb(168,68,163);
color : white;
text-align:center;
}
.status:hover{
opacity:.8;
}
html:
<div class="imageboxes" style="margin-left: 20px;">
<p>The Mechanic</p>
<img width="300" height="456" alt="mechanic" src="2016/mechanic.jpg">
<div class="status">
<h2> Released july 15</h2>
</div>
</div>
2017年8月16日 星期三
css 進階語法
css:
section.links
表示本身 -> <section class="links"> </section>
css:
section .links (沒有連在一起)
表示子元素 -> <section > <div class="links"></div> </section>
css:
section > .links (沒有連在一起)
表示只看下面一層 孫子輩不看
2017年8月14日 星期一
Using geolocation
Ref : https://developer.mozilla.org/en-US/docs/Web/API/Geolocation/Using_geolocation
Ref : https://developer.mozilla.org/en-US/Apps/Fundamentals/gather_and_modify_data/Plotting_yourself_on_the_map
Ref : https://developer.mozilla.org/en-US/Apps/Fundamentals/gather_and_modify_data/Plotting_yourself_on_the_map
<p><button onclick="geoFindMe()">Show my location</button></p>
<div id="out"></div>
function geoFindMe() {
var output = document.getElementById("out");
if (!navigator.geolocation){
output.innerHTML = "<p>Geolocation is not supported by your browser</p>";
return;
}
function success(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
output.innerHTML = '<p>Latitude is ' + latitude + '° <br>Longitude is ' + longitude + '°</p>';
var img = new Image();
img.src = "https://maps.googleapis.com/maps/api/staticmap?center=" + latitude + "," + longitude + "&zoom=13&size=300x300&sensor=false";
output.appendChild(img);
}
function error() {
output.innerHTML = "Unable to retrieve your location";
}
output.innerHTML = "<p>Locating…</p>";
navigator.geolocation.getCurrentPosition(success, error);
}
bootstrap v4 的介紹
Ref : http://muki.tw/tech/bootstrap4-grid-introduce/
垂直對齊
前面跟大家提過 Bootstrap 4 有使用 Flexbox 語法,所以我們可以利用 Flexbox 的特性,輕易的將 Column 置頂、置中,與置底對齊。
- align-items-start:置頂
- align-items-center:置中
- align-items-end:置底
▼ 直接在
row
裡面寫上align-items-*
的 CLASS 即可。
Markup
<div class="row align-items-start">
<div class="col">A<br />A</div>
<div class="col">B</div>
<div class="col">C</div>
</div>
<div class="row align-items-center">
<div class="col">A</div>
<div class="col">B<br />B</div>
<div class="col">C</div>
</div>
<div class="row align-items-end">
<div class="col">A</div>
<div class="col">B</div>
<div class="col">C<br />C</div>
</div>
另外我們也可以改用
align-self-*
在col
裡面單獨針對 Column 做對齊的動作- align-self-start:置頂
- align-self-center:置中
- align-self-end:置底
Markup
<div class="row">
<div class="col align-self-start">A</div>
<div class="col align-self-center">B</div>
<div class="col align-self-end">C</div>
</div>
透過範例可以發現 A, B, C 三個 column 不會相互影響,A 的欄位如果有多行文字不會影響到 B 跟 C。另外以置中為例,輸入多行文字後,他真的就是從中間平均的往上下展開唷!
水平對齊
有垂直對齊就一定會有水平對齊(廢話XD),所以 Bootstrap 4 一樣利用了 Flexbox 的特性實現水平對齊。
- justify-content-start:靠左對齊
- justify-content-center:置中對齊
- justify-content-end:靠右對齊
- justify-content-around:分散對齊(含左右)
- justify-content-between:分散對齊(不含左右)
Markup
<div class="row justify-content-start">
<div class="col-2">A</div>
<div class="col-2">B</div>
<div class="col-2">C</div>
</div>
<div class="row justify-content-center">
<div class="col-2">A</div>
<div class="col-2">B</div>
<div class="col-2">C</div>
</div>
<div class="row justify-content-end">
<div class="col-2">A</div>
<div class="col-2">B</div>
<div class="col-2">C</div>
</div>
<div class="row justify-content-around">
<div class="col-2">A</div>
<div class="col-2">B</div>
<div class="col-2">C</div>
</div>
<div class="row justify-content-between">
<div class="col-2">A</div>
<div class="col-2">B</div>
<div class="col-2">C</div>
</div>
移除 gutter
Bootstrap 的
row
跟column
分別有使用margin
以及padding
當作 gutter,讓每個 column 之間有呼吸的空間。
但有時候因為版面的設計需求,我們希望 column 是緊密黏在一起的,所以 V4 新增了
no-gutters
這個 class,可以讓我們移除 gutter
Markup
<div class="row no-gutters">
<div class="col">A</div>
<div class="col">B</div>
</div>
直接將
no-gutters
放在row
就可以囉,因為語法跟效果很直覺,所以就不上 codepen 範例惹Column 排序
以前如果要將排序會用
pull
跟push
在那邊推來推去的,現在一樣因為使用了 Flexbox 的關係,在使用上也更方便了!- flex-unordered:不排序
- flex-first:第一個
- flex-last:最後一個
Markup
<div class="row">
<div class="col flex-unordered">
我應該是第一個,但我不排序
</div>
<div class="col flex-last">
我應該是第二個,但我會排在最後
</div>
<div class="col flex-first">
我應該是第三個,但我會排在最前面
</div>
</div>
這邊要特別注意的是,如果使用 flex 排序,寬度縮小時也會持續這個排序模式,column 的寬度不會變回 100%。
如果你希望縮小到特定寬度可以變回 100%,還是可以使用 V3 的
push
以及pull
,不過在 V4 的寫法有一點調整,將前綴位置放到後面(原本是col-md-push-*
):
Markup
<div class="row">
<div class="col-md-9 push-md-3">.col-md-9 .push-md-3</div>
<div class="col-md-3 pull-md-9">.col-md-3 .pull-md-9</div>
</div>
☞補充:
offset
也一樣將前綴往後放,但使用方法相同所以就不特別介紹了。
訂閱:
文章 (Atom)