html+css實例


手機適配 問題:一個圖片比較大或者比較小,怎么適配手機怎么優化?

https://blog.csdn.net/rj_jqd/article/details/8651251

 

一個p標簽,不換行,超出部分顯示為省略號?

p{

overflow:hidden;

white-space:nowrap;

text-overflow:ellipsis;

}

 

如何找到所有 HTML select 標簽的選中項?

$('[name=selectname] :selected')

 

css實現字體大寫?

<html>

  <head>

    <style type="text/css">

      p.uppercase {text-transform: uppercase};//大寫

      p.lowercase {text-transform: lowercase};//小寫

      p.capitalize {text-transform: capitalize};//首字母大寫

    </style>

  </head>

  <body>

<p class="uppercase">This is some text in a paragraph.</p >

    <p class="lowercase">This is some text in a paragraph.</p >

    <p class="capitalize">This is some text in a paragraph.</p >

  </body>

</html>

 

 

用一個div模擬textarea的實現

<style>
#textarea {
height: 200px;
width: 300px;
padding: 4px;
border: 1px solid #888;
overflow: auto;
}
</style>
</head>
<body>
<div id="textarea" contenteditable="true"></div>
</body>

 

 

純css畫三角形?

https://blog.csdn.net/xiaoxiaoluckylucky/article/details/80940242

 

一個背景圖的線性漸變?

.box {

width: 100px;

height: 100px;

background-image: linear-gradient(to right, red, blue);

}

 

 

一個滿屏品字布局如何設計?

第一種真正的品字:

  1. 三塊高寬是確定的;
  2. 上面那塊用margin: 0 auto;居中;
  3. 下面兩塊用float或者inline-block不換行;
  4. 用margin調整位置使他們居中。

第二種全屏的品字布局: 上面的div設置成100%,下面的div分別寬50%,然后使用float或者inline使其不換行。

 

聖杯布局和雙飛翼布局?

https://blog.csdn.net/xiaoxiaoluckylucky/article/details/79713542

 

如何讓一個不定寬高的盒子水平垂直居中?

定位的方式

.father {

    position: relative;

}

.son {

    position: absolute;

    top: 0;

    right: 0;

    bottom: 0;

    left: 0;

    margin: auto;

}

css3屬性

.father {

    position: relative;

}

.son {

    position: absolute;

    top: 50%;

    left: 50%;

    transform: translate(-50%, -50%);

}

flex布局

.father {

    display: flex;

    justify-content: center;

    align-items: center;

}

 

讓大div里面的小div水平垂直都居中

<div class=”parent”>

<div class=”child”></div>

</div>

①相對/絕對定位法

.parent{

position:relative;

width: 300px;

height: 200px;

border: 1px solid red;

}

.child{

postion: absolute;

top: 50%;

left: 50%;

width:100px;

height: 100px;

margin-top: -50px;

margin-left: -50px;

border: 1px solid violet;

}

注意點:使用定位方法,需要知道子元素的寬高,但是不需要知道父元素的寬高.

②利用定位及margin:auto實現

.parent{

position:relative;

width: 300px;

height: 200px;

border: 1px solid red;

}

.child{

position: absolute;

top: 0;

left: 0;

right: 0;

botton: 0;

/*width:100px;

height: 100px;*/

margin: auto;

border: 1px solid violet;

}

實現原理:設置margin自動適應,然后設置定位的上下左右都為0,就如四邊均衡受力從而實現盒子的居中;

優點:可不用知道子div的高寬

③使用dosplay:table-cell

.parent{

display: table-cell;

width: 300px;

height: 200px;

border: 1px solid red;

vertical-align: middle;

text-align: center;

}

.child{

width: 100px;

heiht: 100px;

border: 1px solid violet;

}

實現原理:display:table-cell屬性指讓標簽元素以表格單元格的形式呈現,類似於td標簽.

組合使用vertical-align,text-align,可以使父元素內的所有行內元素水平垂直居中(也就是將內部的元素設置display:inline-block)

④使用彈性布局display:flex

.parent{

display: flex;

width: 300px;

height: 300px; 

border: 1px solid red;

justify-content: center;

align-items: center;

}

.child{

width: 100px;

height: 100px;

border: 1px solid violet;

}

⑤計算四周的間距設置子元素與父元素之間的margin-top和margin-left;

.parent{

width: 300px;

height: 200px;

border: 1px solid red;

}

.child{

width: 100px;

height: 100px;

margin-top: 50px;

margin-left: 100px;

}

 

三欄布局:假設高度已知,其中左欄、右欄寬度各位300px,中間自適應?
<style type=”text/css”>
html *{
padding: 0;
margin: 0;
}
.layout{
margin-top: 20px;
}
.layout article div{
min-height: 100px;
}
</style>
①浮動方法
<section class=”layout float”>
<article class=”left-right-center”>
<div class=”left”></div>
<div class=”right”></div>
<div class=”center”>
<h1>浮動解決方案</h1>
這是三欄布局中間部分
</div>
</ article >
</section>
<style type=”text/css”>
.layout.foat .left{
float: left;
width: 300px;
background: red;
}
.layout.float .right{
float: right;
width: 300px;
background: blue;
}
.layout.float .center{
background: yelleow;
}
</style>
②絕對定位方法
<section class=”layout absolute”>
<article class=”left-center-right”>
<div class=”left”></div>
<div class=”center”>
<h1>絕對定位解決方案</h1>
這是三欄布局中間部分
</div>
<div class=”right”></div>
</ article >
</section>
<style type=”text/css”>
.layout.absolute .left-center-right{
position: absolute;
}
.layout.absolute .left{
left: 0;
width: 300px;
background: red;
}
.layout.absolute .center{
left: 300px;
right: 300px;
background: yellow;
}
.layout.absolute .right{
right: 0;
width: 300px;
background: blue;
}
</style>
③flex布局方法
<section class=”layout flexbox”>
<article class=”left-center-right”>
<div class=”left”></div>
<div class=”center”>
<h1>flex布局解決方案</h1>
這是三欄布局中間部分
</div>
<div class=”right”></div>
</ article >
</section>
<style type=”text/css”>
.layout.flexbox{
margin-top: 140px;
}
.layout.flexbox .left-center-right{
display: flex;
}
.layout.leftbox .left{
width: 300px;
background: red;
}
.layout.felxbox .cneter{
flex: 1;
background: yellow;
}
.layout.flexbox .right{
width: 300px;
background: blue;
}
</style>
④表格布局方法
<section class=”layout table”>
<article class=”left-center-right”>
<div class=”left”></div>
<div class=”center”>
<h1>表格布局解決方案</h1>
這是三欄布局中間部分
</div>
<div class=”right”></div>
</ article >
</section>
<style type=”text/css”>
.layout.table .left-center-right{
display: table;
width: 100%;
height: 100px;
}
.layout.table .left-center-right>div{
display: table-cell;
}
.layout.table .left{
width: 300px;
background: red;
}
.layout.table .center{
background: yellow;
}
.layout.table .right{
widht: 300px;
backgorund: blue;
}
</style>
⑤網格布局方法
<section class=”layout grid”>
<article class=”left-center-right”>
<div class=”left”></div>
<div class=”center”>
<h1>網格布局解決方案</h1>
這是三欄布局中間部分
</div>
<div class=”right”></div>
</ article >
</section>
<style type=”text/css”>
.layout.grid .left-center-right{
display: grid;
width: 100%;
grid-template-rows: 100px;
grid-template-columns: 300px auto 300px;
}
.layout.grid .left{
background: red;
}
.layout.grid .center{
background: yellow;
}
.layout.grid .right{
background: blue;
}
</style>
每個布局方案的優缺點:
浮動布局: 缺點:脫離文檔流(需要清楚浮動以及處理好浮動周邊的關系);
優點:兼容性較好
絕對定位: 缺點:布局脫離文檔流,使得其子元素也必須脫離文檔流,導致其有效性和可用性比較差;
優點:快捷,配合JS使用非常快也不容易出問題
flex布局: CSS3主要解決上述兩種布局的缺點,比較完美,用於移動端;
表格布局: 缺點:當其中一個單元格高度超出的時,其他高度也會變化; 
優點:方便,兼容性好
網格布局: 新技術,使布局不再是模擬網格布局,可以做很多復雜的事情但代碼量能減少很多
補充:如果中間內容高於容器高度,flex和table布局可用

擴展:三欄布局
左右寬度固定,中間自適應
上下高度固定,中間自適應
兩欄布局
左寬度固定,右自適應
右寬度固定,左自適應
上高度固定,下自適應
下高度固定,上自適應

一個塊級元素的水平居中,你有哪幾種方式可以實現?使用flex讓元素水平居中有做過嗎?
①.子絕父相
<style>
.father{
position:relative;
width:400px;
height:400px;
background:blue;
}
.son{
position:absolute;
top:50%;
left:50%;
width:200px;
height:200px;
background:red;
transform:translate(-50%,-50%);
}
</style>
</head>
<body>
<div class="father">
<div class="son"></div>
</div>
</body>
注意:外層div要設定高度和寬度
缺點:當子元素寬高大小不是偶數時,移動50%之后,像素點並不是整數,出了小數,和顯示像素沒有對上。會導致子元素內部字體邊緣模糊。
transform:translate (-50%,-50%) 造成的文字邊緣模糊解決方案 https://www.aliyun.com/jiaocheng/639148.html
②.父元素彈性布局
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<style type="text/css">
.father {
display: flex;
width: 400px;
height: 400px;
background: red;
justify-content: center;
/*x軸對齊方式*/
align-items: center;
/*y軸對齊方式*/
}
.son {
width: 200px;
height: 200px;
background: blue;
}
</style>
</head>
<body>
<div class="father">
<div class="son"></div>
</div>
</body>
</html>

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM