css justify-content Test210428
用于测试flex弹性盒子下, 单个元素,多个元素,子元素还有子元素 在各种justify-content的选项下的效果,并且可以改变align-items
测试代码
<!DOCTYPE html><html lang="zh-CN"><head><meta charset="utf-8"/><title>css justify-content Test210428</title>
<style id="FirstStyleTag" >
*{box-sizing:border-box;}
fieldset{background:#fffddd}
#BodyBody>fieldset>legend{font-size:36px; }
.FlexBox{display:flex; height:160px; border:1px solid black; }
.FlexBox>*{display:flex; padding:10px; align-items:center; color:white;}
.FlexBox>:nth-child(1){background-color:red;}
.FlexBox>:nth-child(2){background-color:orange}
.FlexBox>:nth-child(3){background-color:yellow}
.FlexBox>:nth-child(4){background-color:green}
.FlexBox>:nth-child(5){background-color:cyan}
.FlexBox>:nth-child(6){background-color:blue}
.FlexBox>:nth-child(7){background-color:purple}
.FlexBox>:nth-child(8){background-color:#0099ff}
.FlexBox>:nth-child(9){background-color:#9900ff}
</style><script>function dgebi(x){if(x && x.constructor===String)x=document.getElementById(x); return x;} ; function dcept(p,tn){var e=document.createElement(tn); p=dgebi(p).appendChild(e); return e;} ; const FirstStyleTag=dgebi("FirstStyleTag");
var justifyContentOptions = [];
justifyContentOptions.push("start");
justifyContentOptions.push("flex-start");
justifyContentOptions.push("end");
justifyContentOptions.push("flex-end");
justifyContentOptions.push("center");
justifyContentOptions.push("left");
justifyContentOptions.push("right");
justifyContentOptions.push("baseline");
justifyContentOptions.push("first-baseline");
justifyContentOptions.push("last-baseline");
justifyContentOptions.push("space-between");
justifyContentOptions.push("space-around");
justifyContentOptions.push("space-evenly");
justifyContentOptions.push("stretch");
justifyContentOptions.push("safe center");
justifyContentOptions.push("safe left");
justifyContentOptions.push("safe right");
justifyContentOptions.push("safe flex-end");
justifyContentOptions.push("unsafe center");
justifyContentOptions.push("unsafe left");
justifyContentOptions.push("unsafe right");
justifyContentOptions.push("unsafe flex-end");
console.info("FirstStyleTag.__proto__",FirstStyleTag.__proto__); console.log("FirstStyleTag.sheet",FirstStyleTag.sheet);
</script></head><body><header id="BodyHeader">
<p style="font-size:20px;" >justify-content : start | flex-start | end | flex-end | center | left | right | baseline | first-baseline | last-baseline | space-between | space-around | space-evenly | stretch | safe | unsafe</p>
<nav style="word-spacing:16px; "><label>导航: </label><a href="#多元素容器010 ">多元素演示</a> <a href="#单元素容器010 ">单元素演示</a> <a href="#混合元素容器010 ">混合元素容器</a> <a href="# "></a></nav>
<nav id="SetAlignItemsBar"><label>切换align-items:为 </label></nav>
<script>
var SetAlignItemsBar = dgebi("SetAlignItemsBar");
for(opt of justifyContentOptions){
let btn = dcept(SetAlignItemsBar , "button"); btn.type="button"; btn.innerText=opt; btn.onclick=function(ev){LastStyleTag.innerText=`.FlexBox{align-items:${ev.target.innerText};}`;}
}
</script>
</header><div id="BodyBody" style="position:fixed; top:200px; width:100%; height:80vh; overflow-y:auto; ">
<fieldset><legend>多元素演示</legend>
<div id="多元素容器010" ></div>
</fieldset>
<fieldset><legend>单元素演示</legend>
<div id="单元素容器010" ></div>
</fieldset>
<fieldset><legend>混合元素演示</legend>
<div id="混合元素容器010" ></div>
</fieldset>
</div><footer id="BodyFooter"></footer><script>const BodyHeader=dgebi("BodyHeader") , BodyBody=dgebi("BodyBody"), BodyFooter=dgebi("BodyFooter");
var 多元素容器010 = dgebi("多元素容器010");
var 单元素容器010 = dgebi("单元素容器010");
var 混合元素容器010 = dgebi("混合元素容器010");
function add多元素演示(opt){
var f=dcept(多元素容器010,"fieldset"); var l=dcept(f,"legend"); l.innerHTML=opt;
var flexBox=dcept(f,"div"); flexBox.className="FlexBox"; flexBox.style.justifyContent=opt;
for(let i=0; i<9; i++){let son=dcept(flexBox,"label"); son.innerHTML="label_"+i; };
}
for(opt of justifyContentOptions){add多元素演示(opt);}
function add单元素演示(opt){
var f=dcept(单元素容器010,"fieldset"); var l=dcept(f,"legend"); l.innerHTML=opt;
var flexBox=dcept(f,"div"); flexBox.className="FlexBox"; flexBox.style.justifyContent=opt;
let son=dcept(flexBox,"span"); son.innerHTML="span";
}
for(opt of justifyContentOptions){add单元素演示(opt);}
function add混合元素演示(opt){
var f=dcept(混合元素容器010,"fieldset"); var l=dcept(f,"legend"); l.innerHTML=opt;
var flexBox=dcept(f,"div"); flexBox.className="FlexBox"; flexBox.style.justifyContent=opt;
flexBox.innerHTML = `hello<span>span1</span>world<div>div1<br>第二行<br><span>第三行</span></div>世界<label>latel1</label>你好`
}
for(opt of justifyContentOptions){add混合元素演示(opt);}
</script><style id="LastStyleTag"></style><script>var LastStyleTag=document.getElementById("LastStyleTag");</script></body></html>