亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

僅為元素重置/刪除CSS樣式

僅為元素重置/刪除CSS樣式

元芳怎么了 2019-06-18 13:36:50
僅為元素重置/刪除CSS樣式我肯定這之前肯定有人提過/問過,但我一直在尋找一個沒有運氣的時代,我的術語一定是錯的!我隱約記得不久前看到的一條推文,其中指出有一個CSS規則可以刪除以前在樣式表中為特定元素設置的任何樣式。一個很好的使用示例可能是在移動第一的RWD站點中,其中許多用于小屏幕視圖中特定元素的樣式需要“重置”或刪除桌面視圖中的相同元素。一種CSS規則,可以實現以下功能:.element {   all: none;}示例用法:/* mobile first */.element {    margin: 0 10;    transform: translate3d(0, 0, 0);    z-index: 50;    display: block;    etc..    etc..}@media only screen and (min-width: 980px) {   .element {     all: none;   }}因此,我們可以快速移除或重新設置樣式,而不必聲明每個屬性。合乎道理?
查看完整描述

3 回答

?
蝴蝶不菲

TA貢獻1810條經驗 獲得超4個贊

CSS 3關鍵字initial設置屬性設置為規范中定義的初始值。..這個initial關鍵字有廣泛的瀏覽器支持除了IE和歌劇院的迷你家庭。

由于IE的缺乏支持可能會導致問題,這里有一些方法可以將一些CSS屬性重置為它們的初始值:

.reset-this {
    animation : none;
    animation-delay : 0;
    animation-direction : normal;
    animation-duration : 0;
    animation-fill-mode : none;
    animation-iteration-count : 1;
    animation-name : none;
    animation-play-state : running;
    animation-timing-function : ease;
    backface-visibility : visible;
    background : 0;
    background-attachment : scroll;
    background-clip : border-box;
    background-color : transparent;
    background-image : none;
    background-origin : padding-box;
    background-position : 0 0;
    background-position-x : 0;
    background-position-y : 0;
    background-repeat : repeat;
    background-size : auto auto;
    border : 0;
    border-style : none;
    border-width : medium;
    border-color : inherit;
    border-bottom : 0;
    border-bottom-color : inherit;
    border-bottom-left-radius : 0;
    border-bottom-right-radius : 0;
    border-bottom-style : none;
    border-bottom-width : medium;
    border-collapse : separate;
    border-image : none;
    border-left : 0;
    border-left-color : inherit;
    border-left-style : none;
    border-left-width : medium;
    border-radius : 0;
    border-right : 0;
    border-right-color : inherit;
    border-right-style : none;
    border-right-width : medium;
    border-spacing : 0;
    border-top : 0;
    border-top-color : inherit;
    border-top-left-radius : 0;
    border-top-right-radius : 0;
    border-top-style : none;
    border-top-width : medium;
    bottom : auto;
    box-shadow : none;
    box-sizing : content-box;
    caption-side : top;
    clear : none;
    clip : auto;
    color : inherit;
    columns : auto;
    column-count : auto;
    column-fill : balance;
    column-gap : normal;
    column-rule : medium none currentColor;
    column-rule-color : currentColor;
    column-rule-style : none;
    column-rule-width : none;
    column-span : 1;
    column-width : auto;
    content : normal;
    counter-increment : none;
    counter-reset : none;
    cursor : auto;
    direction : ltr;
    display : inline;
    empty-cells : show;
    float : none;
    font : normal;
    font-family : inherit;
    font-size : medium;
    font-style : normal;
    font-variant : normal;
    font-weight : normal;
    height : auto;
    hyphens : none;
    left : auto;
    letter-spacing : normal;
    line-height : normal;
    list-style : none;
    list-style-image : none;
    list-style-position : outside;
    list-style-type : disc;
    margin : 0;
    margin-bottom : 0;
    margin-left : 0;
    margin-right : 0;
    margin-top : 0;
    max-height : none;
    max-width : none;
    min-height : 0;
    min-width : 0;
    opacity : 1;
    orphans : 0;
    outline : 0;
    outline-color : invert;
    outline-style : none;
    outline-width : medium;
    overflow : visible;
    overflow-x : visible;
    overflow-y : visible;
    padding : 0;
    padding-bottom : 0;
    padding-left : 0;
    padding-right : 0;
    padding-top : 0;
    page-break-after : auto;
    page-break-before : auto;
    page-break-inside : auto;
    perspective : none;
    perspective-origin : 50% 50%;
    position : static;
    /* May need to alter quotes for different locales (e.g fr) */
    quotes : '\201C' '\201D' '\2018' '\2019';
    right : auto;
    tab-size : 8;
    table-layout : auto;
    text-align : inherit;
    text-align-last : auto;
    text-decoration : none;
    text-decoration-color : inherit;
    text-decoration-line : none;
    text-decoration-style : solid;
    text-indent : 0;
    text-shadow : none;
    text-transform : none;
    top : auto;
    transform : none;
    transform-style : flat;
    transition : none;
    transition-delay : 0s;
    transition-duration : 0s;
    transition-property : none;
    transition-timing-function : ease;
    unicode-bidi : normal;
    vertical-align : baseline;
    visibility : visible;
    white-space : normal;
    widows : 0;
    width : auto;
    word-spacing : normal;
    z-index : auto;
    /* basic modern patch */
    all: initial;
    all: unset;}/* basic modern patch */#reset-this-root {
    all: initial;
    * {
        all: unset;
    }}

正如@user 566245的評論中提到的:

這在原則上是正確的,但個人里程可能有所不同。例如,某些元素,如TextArea默認有一個邊框,應用此重置將使那些TextArea的邊框減少。

[發布編輯2月4日,‘17]更新為成為現代規范,用戶喬斯特

#reset-this-parent {
  all: initial;
  * {
    all: unset;
  }}

來自W3的示例

例如,如果作者指定了一個元素的All:Initial,它將阻止所有繼承并重置所有屬性,就好像在級聯的作者、用戶或用戶代理級別中沒有出現任何規則一樣。

這對于頁面中包含的“小部件”的根元素很有用,它不希望繼承外部頁面的樣式。但是,請注意,應用于該元素的任何“默認”樣式(例如,顯示:在塊元素上的UA樣式表中的塊)也會被吹走。


JavaScript?

沒有人想過除了CSS來重置CSS?是?

這一點完全相關:https://stackoverflow.com/a/14791113/845310

getElementsByTagName(“*”)將返回DOM中的所有元素。然后可以為集合中的每個元素設置樣式:

二月九日十三日二時十五分由異象答覆

var allElements = document.getElementsByTagName("*");for (var i = 0, len = allElements.length; i < len; i++) {
    var element = allElements[i];
    // element.style.border = ...}

盡管如此,我不認為CSS重置是可行的,除非我們只有一個瀏覽器。如果“默認”在最后由瀏覽器設置。

作為比較,下面是Firefox 40.0值列表。<blockquote style="all: unset;font-style: oblique">哪里font-style: oblique觸發DOM操作。

align-content: unset;

align-items: unset;

align-self: unset;

animation: unset;

appearance: unset;

backface-visibility: unset;

background-blend-mode: unset;

background: unset;

binding: unset;

block-size: unset;

border-block-end: unset;

border-block-start: unset;

border-collapse: unset;

border-inline-end: unset;

border-inline-start: unset;

border-radius: unset;

border-spacing: unset;

border: unset;

bottom: unset;

box-align: unset;

box-decoration-break: unset;

box-direction: unset;

box-flex: unset;

box-ordinal-group: unset;

box-orient: unset;

box-pack: unset;

box-shadow: unset;

box-sizing: unset;

caption-side: unset;

clear: unset;

clip-path: unset;

clip-rule: unset;

clip: unset;

color-adjust: unset;

color-interpolation-filters: unset;

color-interpolation: unset;

color: unset;

column-fill: unset;

column-gap: unset;

column-rule: unset;

columns: unset;

content: unset;

control-character-visibility: unset;

counter-increment: unset;

counter-reset: unset;

cursor: unset;

display: unset;

dominant-baseline: unset;

empty-cells: unset;

fill-opacity: unset;

fill-rule: unset;

fill: unset;

filter: unset;

flex-flow: unset;

flex: unset;

float-edge: unset;

float: unset;

flood-color: unset;

flood-opacity: unset;

font-family: unset;

font-feature-settings: unset;

font-kerning: unset;

font-language-override: unset;

font-size-adjust: unset;

font-size: unset;

font-stretch: unset;

font-style: oblique;

font-synthesis: unset;

font-variant: unset;

font-weight: unset;

font: ;

force-broken-image-icon: unset;

height: unset;

hyphens: unset;

image-orientation: unset;

image-region: unset;

image-rendering: unset;

ime-mode: unset;

inline-size: unset;

isolation: unset;

justify-content: unset;

justify-items: unset;

justify-self: unset;

left: unset;

letter-spacing: unset;

lighting-color: unset;

line-height: unset;

list-style: unset;

margin-block-end: unset;

margin-block-start: unset;

margin-inline-end: unset;

margin-inline-start: unset;

margin: unset;

marker-offset: unset;

marker: unset;

mask-type: unset;

mask: unset;

max-block-size: unset;

max-height: unset;

max-inline-size: unset;

max-width: unset;

min-block-size: unset;

min-height: unset;

min-inline-size: unset;

min-width: unset;

mix-blend-mode: unset;

object-fit: unset;

object-position: unset;

offset-block-end: unset;

offset-block-start: unset;

offset-inline-end: unset;

offset-inline-start: unset;

opacity: unset;

order: unset;

orient: unset;

outline-offset: unset;

outline-radius: unset;

outline: unset;

overflow: unset;

padding-block-end: unset;

padding-block-start: unset;

padding-inline-end: unset;

padding-inline-start: unset;

padding: unset;

page-break-after: unset;

page-break-before: unset;

page-break-inside: unset;

paint-order: unset;

perspective-origin: unset;

perspective: unset;

pointer-events: unset;

position: unset;

quotes: unset;

resize: unset;

right: unset;

ruby-align: unset;

ruby-position: unset;

scroll-behavior: unset;

scroll-snap-coordinate: unset;

scroll-snap-destination: unset;

scroll-snap-points-x: unset;

scroll-snap-points-y: unset;

scroll-snap-type: unset;

shape-rendering: unset;

stack-sizing: unset;

stop-color: unset;

stop-opacity: unset;

stroke-dasharray: unset;

stroke-dashoffset: unset;

stroke-linecap: unset;

stroke-linejoin: unset;

stroke-miterlimit: unset;

stroke-opacity: unset;

stroke-width: unset;

stroke: unset;

tab-size: unset;

table-layout: unset;

text-align-last: unset;

text-align: unset;

text-anchor: unset;

text-combine-upright: unset;

text-decoration: unset;

text-emphasis-position: unset;

text-emphasis: unset;

text-indent: unset;

text-orientation: unset;

text-overflow: unset;

text-rendering: unset;

text-shadow: unset;

text-size-adjust: unset;

text-transform: unset;

top: unset;

transform-origin: unset;

transform-style: unset;

transform: unset;

transition: unset;

user-focus: unset;

user-input: unset;

user-modify: unset;

user-select: unset;

vector-effect: unset;

vertical-align: unset;

visibility: unset;

white-space: unset;

width: unset;

will-change: unset;

window-dragging: unset;

word-break: unset;

word-spacing: unset;

word-wrap: unset;

writing-mode: unset;

z-index: unset;


查看完整回答
反對 回復 2019-06-18
?
慕雪6442864

TA貢獻1812條經驗 獲得超5個贊

未來的讀者。我認為這是什么意思,但目前并沒有得到廣泛的支持(見下文):

#someselector {
  all: initial;
  * {
    all: unset;
  }}
  • 支持(

    來源

    ):Chrome 37,Firefox 27,IE 11,Opera 24
  • 不支持:Safari


查看完整回答
反對 回復 2019-06-18
  • 3 回答
  • 0 關注
  • 651 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號