摘要:每條聲明由一個屬性和一個值組成。布局是什么是的縮寫,意為彈性布局,用來為盒狀模型提供最大的靈活性。它的所有子元素自動成為容器成員,稱為項(xiàng)目,簡稱項(xiàng)目。
一、什么是CSSCSS 很早以前就學(xué)過了,但是最近在寫前端的樣式,有些概念模糊忘了,所以,這里重新梳理一下CSS的基本用法。
CSS 指層疊樣式表 (Cascading Style Sheets)
樣式定義如何顯示 HTML 元素
樣式通常存儲在樣式表中
把樣式添加到 HTML 4.0 中,是為了解決內(nèi)容與表現(xiàn)分離的問題
外部樣式表可以極大提高工作效率
外部樣式表通常存儲在 CSS 文件中
多個樣式定義可層疊為一
簡單實(shí)例:
二、CSS語法重拾 CSS CSS 實(shí)例!
這是一個段落。
CSS 規(guī)則由兩個主要的部分構(gòu)成:選擇器,以及一條或多條聲明:
選擇器通常是您需要改變樣式的 HTML 元素。
每條聲明由一個屬性和一個值組成。
屬性(property)是您希望設(shè)置的樣式屬性(style attribute)。每個屬性有一個值。屬性和值被冒號分開。
CSS實(shí)例
CSS聲明總是以分號(;)結(jié)束,聲明組以大括號({})括起來:
p {color:red;text-align:center;}
為了讓CSS可讀性更強(qiáng),你可以每行只描述一個屬性:
實(shí)例
p { color:red; text-align:center; }
CSS 注釋
注釋是用來解釋你的代碼,并且可以隨意編輯它,瀏覽器會忽略它。
CSS注釋以 "/" 開始, 以 "/" 結(jié)束, 實(shí)例如下:
/*這是個注釋*/ p { text-align:center; /*這是另一個注釋*/ color:black; font-family:arial; }三、項(xiàng)目實(shí)戰(zhàn)
css樣式文件:
resources/assets/css/style.css
/*對文章內(nèi)容里的圖片做響應(yīng)式處理*/ .panel-body.content img { width:100%; } a.topic { background:#eff6fa; padding:1px 10px 0; border-radius:30px; text-decoration: none; margin:0 5px 5px 0; display: inline-block; white-space: nowrap; cursor: pointer; } a.topic:hover{ background: #259; color: #fff; text-decoration: none; } button.is-naked{ background: 0 0; border:none; border-radius: 0; padding:0; height:auto; } .actions{ display: flex; padding:10px 20px; } .delete-form{ margin-left:20px; } .delete-button{ color:#3097D1; text-decoration: none; }
文件index.blade.php
@extends("layouts.app") @section("content")@include("answers._create") @endsection{{ $question->title }} @foreach($question->topics as $topic) {{ $topic->name }} @endforeach{!! $question->body !!}@if(Auth::check() && Auth::user()->owns($question)) 編輯{{ method_field("DELETE") }} {{ csrf_field() }} @endif
注意文本里邊的 img元素的響應(yīng)式寫法:
{!! $question->body !!}
html中的寫法為:class="panel-body content"
在css中添加樣式為:
.panel-body.content img { width:100%; }
如果寫成下面的則不能找到樣式:
.panel-body content img { width:100%; }四、Flex 布局語法
布局的傳統(tǒng)解決方案,基于盒狀模型,依賴 display屬性 + position屬性 + float屬性。它對于那些特殊布局非常不方便,比如,垂直居中就不容易實(shí)現(xiàn)。
2009年,W3C提出了一種新的方案—-Flex布局,可以簡便、完整、響應(yīng)式地實(shí)現(xiàn)各種頁面布局。目前,它已經(jīng)得到了所有瀏覽器的支持,這意味著,現(xiàn)在就能很安全地使用這項(xiàng)功能。
1.Flex布局是什么?Flex是Flexible Box的縮寫,意為”彈性布局”,用來為盒狀模型提供最大的靈活性。
任何一個容器都可以指定為Flex布局。
.box{ display: flex; }
行內(nèi)元素也可以使用Flex布局。
.box{ display: inline-flex; }
Webkit內(nèi)核的瀏覽器,必須加上-webkit前綴。
.box{ display: -webkit-flex; /* Safari */ display: flex; }
2.基本概念注意,設(shè)為Flex布局以后,子元素的float、clear和vertical-align屬性將失效。
采用Flex布局的元素,稱為Flex容器(flex container),簡稱”容器”。它的所有子元素自動成為容器成員,稱為Flex項(xiàng)目(flex item),簡稱”項(xiàng)目”。
容器默認(rèn)存在兩根軸:水平的主軸(main axis)和垂直的交叉軸(cross axis)。主軸的開始位置(與邊框的交叉點(diǎn))叫做main start,結(jié)束位置叫做main end;交叉軸的開始位置叫做cross start,結(jié)束位置叫做cross end。
項(xiàng)目默認(rèn)沿主軸排列。單個項(xiàng)目占據(jù)的主軸空間叫做main size,占據(jù)的交叉軸空間叫做cross size。
以下6個屬性設(shè)置在容器上。
3.1.flex-direction:屬性決定主軸的方向(即項(xiàng)目的排列方向)。
3.2.flex-wrap: 默認(rèn)情況下,項(xiàng)目都排在一條線(又稱”軸線”)上。flex-wrap屬性定義,如果一條軸線排不下,如何換行。
3.3.flex-flow:該屬性是flex-direction屬性和flex-wrap屬性的簡寫形式,默認(rèn)值為row nowrap。
.box { flex-flow:|| ; }
3.4.justify-content:該屬性定義了項(xiàng)目在主軸上的對齊方式。
3.5.align-items:定義項(xiàng)目在交叉軸上如何對齊。
3.6.align-content:屬性定義了多根軸線的對齊方式。如果項(xiàng)目只有一根軸線,該屬性不起作用。
4.項(xiàng)目的屬性以下6個屬性設(shè)置在項(xiàng)目上。
4.1 order :屬性定義項(xiàng)目的排列順序。數(shù)值越小,排列越靠前,默認(rèn)為0。
4.2 flex-grow:定義項(xiàng)目的放大比例,默認(rèn)為0,即如果存在剩余空間,也不放大。
4.3 flex-shrink:定義了項(xiàng)目的縮小比例,默認(rèn)為1,即如果空間不足,該項(xiàng)目將縮小。
4.4 flex-basis:定義了在分配多余空間之前,項(xiàng)目占據(jù)的主軸空間(main size)。瀏覽器根據(jù)這個屬性,計(jì)算主軸是否有多余空間。它的默認(rèn)值為auto,即項(xiàng)目的本來大小。
4.5 flex:是flex-grow, flex-shrink 和 flex-basis的簡寫,默認(rèn)值為0 1 auto。后兩個屬性可選。
4.6 align-self:align-self屬性允許單個項(xiàng)目有與其他項(xiàng)目不一樣的對齊方式,可覆蓋align-items屬性。默認(rèn)值為auto,表示繼承父元素的align-items屬性,如果沒有父元素,則等同于stretch。
參考文章:
阮一峰:Flex 布局教程:語法篇
阮一峰:Flex 布局教程:實(shí)例篇
Solved by Flexbox
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/111781.html
摘要:具體來說,包管理器就是可以通過命令行,幫助你把外部庫和插件放到你的項(xiàng)目里面并在之后進(jìn)行版本升級,這樣就不用手工復(fù)制和更新庫?,F(xiàn)在有的包管理器主要是和。 一、基礎(chǔ) 1、學(xué)習(xí)HTML基礎(chǔ) HTML給你的網(wǎng)頁賦予了結(jié)構(gòu)。它就像是人的骨架那樣讓你保持站立。首先你需要去學(xué)習(xí)語法以及它必須提供的一切。你的學(xué)習(xí)應(yīng)該聚焦在下面這些東西上: 學(xué)習(xí)HTML基礎(chǔ),了解如何編寫語義HTML 理解如何把網(wǎng)頁分...
摘要:具體來說,包管理器就是可以通過命令行,幫助你把外部庫和插件放到你的項(xiàng)目里面并在之后進(jìn)行版本升級,這樣就不用手工復(fù)制和更新庫。現(xiàn)在有的包管理器主要是和。 一、基礎(chǔ) 1、學(xué)習(xí)HTML基礎(chǔ) HTML給你的網(wǎng)頁賦予了結(jié)構(gòu)。它就像是人的骨架那樣讓你保持站立。首先你需要去學(xué)習(xí)語法以及它必須提供的一切。你的學(xué)習(xí)應(yīng)該聚焦在下面這些東西上: 學(xué)習(xí)HTML基礎(chǔ),了解如何編寫語義HTML 理解如何把網(wǎng)頁分...
摘要:再之后,通過專業(yè)老師的指導(dǎo),開始進(jìn)行前端知識的全面及系統(tǒng)性的學(xué)習(xí)。而這篇文章便是對這次學(xué)習(xí)的一次階段性總結(jié)。的學(xué)習(xí)并不是太難,也可以說是很容易,但千里之行,這才剛剛開始,熟練的掌握,還需要不斷的練習(xí)。 一、學(xué)習(xí)經(jīng)歷 進(jìn)入大學(xué)不久,就加入了社團(tuán),從而對前端有了一個初步的了解,之后也做過一些學(xué)校的官網(wǎng),積累了一些微小的經(jīng)驗(yàn)。 到了大二的時候,學(xué)校開設(shè)了專門的html+css課程,從中也學(xué)到...
摘要:再之后,通過專業(yè)老師的指導(dǎo),開始進(jìn)行前端知識的全面及系統(tǒng)性的學(xué)習(xí)。而這篇文章便是對這次學(xué)習(xí)的一次階段性總結(jié)。的學(xué)習(xí)并不是太難,也可以說是很容易,但千里之行,這才剛剛開始,熟練的掌握,還需要不斷的練習(xí)。 一、學(xué)習(xí)經(jīng)歷 進(jìn)入大學(xué)不久,就加入了社團(tuán),從而對前端有了一個初步的了解,之后也做過一些學(xué)校的官網(wǎng),積累了一些微小的經(jīng)驗(yàn)。 到了大二的時候,學(xué)校開設(shè)了專門的html+css課程,從中也學(xué)到...
閱讀 2196·2021-11-12 10:36
閱讀 2177·2021-09-03 10:41
閱讀 2836·2021-08-19 10:57
閱讀 1267·2021-08-17 10:14
閱讀 1517·2019-08-30 15:53
閱讀 1237·2019-08-30 15:43
閱讀 998·2019-08-30 13:16
閱讀 3024·2019-08-29 16:56