この記事では、CSS のパーセンテージについての簡単な説明を主に紹介します。CSS スタイルを定義するときに長さの単位「%」がよく使用されますが、このパーセンテージは誰に関係するのでしょうか?
この記事では、CSS についての簡単な説明を紹介します。
結論:
標準ストリーム内の要素について、その属性が継承されているかどうかを確認します。 width と margin-left の場合は継承可能であり、親要素または祖先要素 (実際には包含ブロック) を参照します。高さの場合は継承がなく、親要素または祖先要素はその高さに適応します。すべての子要素と (これには注意が必要です)。
絶対配置は、最も近い親要素または祖先要素を参照します。親要素または祖先要素がない場合は、最初の包含ブロックを参照します (W3C ではブラウザ固有の方法が指定されていないため、ブラウザによって異なる場合があります)。それを達成します)。しかし実際には、ほとんどのブラウザは表示可能領域を絶対的に配置された包含ブロックとして扱います。
固定位置は視覚領域を参照します
幅はパーセンテージに設定されます
通常、一般的な子要素は、パーセンテージの参照として親要素の計算値を継承します。およびルート要素は、初期値を参考にしてくださいたとえば、.box には幅が設定されていませんが、デフォルトで body の計算された値が継承されます。また、.box は .item の親要素であるため、.item です。 .box の計算値を継承します。ブロックレベルの要素で幅が設定されていない場合、その要素は含まれているブロックの幅を継承するため、その幅はデフォルトで全画面になります。高さをパーセンテージに設定します
結論高さをパーセンテージに設定すると、高さは幅のように親要素または祖先要素を継承しません。要素は、子要素の実際の高さ (高さの計算値) に基づいて自動適応されます。通常は、すべての子要素のコンテンツの高さの合計です。子要素は、テキスト行の高さに基づいて特定の高さの値を設定します (子要素の高さが特定の値に設定されていない場合)。絶対配置の要素の場合、その高さがパーセンテージである場合、絶対配置は親要素またはそれに最も近い祖先要素の高さを参照します。祖先要素の場合、それは最初の要素を参照します (W3C ではブラウザが実装する方法を指定していないため、ブラウザによって異なる場合があります)。しかし実際には、ほとんどのブラウザは表示可能領域を絶対的に配置された包含ブロックとして扱います。 通常、幅をパーセンテージで設定することを好みますが、高さをパーセンテージで設定する場合は注意してください。<style> body,p{ margin:0; padding:0; } .box{ width:100px; height:100%; background-color: #58d3e2; } </style> <p class="box">height 100%</p>
<style> body,p{ margin:0; padding:0; } .box{ width:100px; height:100px; background-color: #58d3e2; } </style> <p class="box">height 100%</p>
<style> body,p{ margin:0; padding:0; } .d{ height: 100px; width: 200px; background-color: #9d9d9d; } .box{ width:100px; height:100px; background-color: #58d3e2; } </style> <p class="d"> <p class="box">height</p> </p>
絶対配置がある場合
1. 祖先要素を配置せずに絶対配置する
このとき、絶対配置とはビューポートの概念に注意してください。りー
改变height分别为100%和50%,可以发现html的高度为0,并没有自适应p的高度,因为p已经彻底脱离标准流了,我们说过,如果绝对定位没有定位的祖先元素,则包含块为初始包含块,这里的初始包含块即为可视区,所以这里的百分比是参照可视区的大小来计算的。所以为50%时占视口的一半。注意这只是一个视口的高度,把滚动条往下拉拉就知道了。
2.绝对定位的元素在另外一个定位元素里面(除static外)
这时百分比参照的是父元素生成的包含块计算出来的值
所以想让定位元素的高度占满整个屏幕,可以:
body{ position:relative; }
margin-left设置成百分比
<style> body,p{ margin:0; padding:0; } .box{ position:absolute; width:100px; height:100px; margin-left: 100%; background-color: #58d3e2; } </style> <p class="box">margin-left</p>
这时出现了滚动条,这是因为将p的margin-left设置成了100%,而百分比是参照其包含块body的宽度,body又是参照的html(某些浏览器将它当作初始包含块)。而html的初始包含块是可视区,所以可视区的宽度再加上元素的100%,自然就超出了屏幕了。
解决方法:
(1)利用calc函数
<style> body,p{ margin:0; padding:0; } .box{ position:absolute; width:100px; height:100px; margin-left: calc(100%-100px); background-color: #58d3e2; } </style> <p class="box">margin-left</p>
(2)让body的宽度减去100px,因为p的百分比是参照其父元素的宽度计算的,因此这里将它的父元素的宽度减小,那么它的margin-left的100%自然就小了
<style> body,p{ margin:0; padding:0; } body{ margin-right;100px; } .box{ position:absolute; width:100px; height:100px; margin-left: 100%; background-color: #58d3e2; } </style> <p class="box">margin-left</p>
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!
相关推荐:
以上がCSS におけるパーセンテージの問題の分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

在css中,可用list-style-type属性来去掉ul的圆点标记,语法为“ul{list-style-type:none}”;list-style-type属性可设置列表项标记的类型,当值为“none”可不定义标记,也可去除已有标记。

区别是:css是层叠样式表单,是将样式信息与网页内容分离的一种标记语言,主要用来设计网页的样式,还可以对网页各元素进行格式化;xml是可扩展标记语言,是一种数据存储语言,用于使用简单的标记描述数据,将文档分成许多部件并对这些部件加以标识。

在css中,可以利用cursor属性实现鼠标隐藏效果,该属性用于定义鼠标指针放在一个元素边界范围内时所用的光标形状,当属性值设置为none时,就可以实现鼠标隐藏效果,语法为“元素{cursor:none}”。

转换方法:1、给英文元素添加“text-transform: uppercase;”样式,可将所有的英文字母都变成大写;2、给英文元素添加“text-transform:capitalize;”样式,可将英文文本中每个单词的首字母变为大写。

在css中,rtl是“right-to-left”的缩写,是从右往左的意思,指的是内联内容从右往左依次排布,是direction属性的一个属性值;该属性规定了文本的方向和书写方向,语法为“元素{direction:rtl}”。

在css中,可以利用“font-style”属性设置i元素不是斜体样式,该属性用于指定文本的字体样式,当属性值设置为“normal”时,会显示元素的标准字体样式,语法为“i元素{font-style:normal}”。

在css3中,可以用“transform-origin”属性设置rotate的旋转中心点,该属性可更改转换元素的位置,第一个参数设置x轴的旋转位置,第二个参数设置y轴旋转位置,语法为“transform-origin:x轴位置 y轴位置”。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

Dreamweaver Mac版
ビジュアル Web 開発ツール

SublimeText3 中国語版
中国語版、とても使いやすい

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

ホットトピック









