2012-01-08 18 views
5

Przez "usuń" rozumiem resetowanie wszystkich stylów, które mogą zejść na taki element i umieszczenie go w domyślnych ustawieniach przeglądarki.jak usunąć każdy styl z elementu?

Potrzebuję tego do debugowania, nie wiem, jaka reguła szkodzi i dobrze się składa, że ​​usuwam wszystkie style, a następnie tracę jedno po drugim, aby sprawdzić, kiedy coś zaczyna się nie udać.

Widziałeś jakieś fragmenty w internecie, które składają się:

{ right: auto !important; left: auto !important; visibility: visible !important;... 

i tak dalej za każdym możliwym stylu.

+0

pokrewne: http://stackoverflow.com/questions/15901030/reset-remove-css-styles-for- element-only/15903168 –

Odpowiedz

3

nie można. W projektach CSS3 proponowana jest wartość initial, ale nawet gdyby została zdefiniowana, ustawiłaby ona właściwości na wartości początkowe zdefiniowane w specyfikacjach CSS, a nie zgodnie z ustawieniami domyślnymi przeglądarki. Na przykład początkowa wartość właściwości display to inline, ale z pewnością przeglądarki nie renderują wszystkiego jako elementów wstawianych domyślnie.

Lepszym podejściem do pierwotnego problemu jest użycie narzędzi do debugowania i inspekcji, takich jak Firebug lub Web Developer Extension dla Firefox. Pozwalają zobaczyć, które style odnoszą się do elementu i skąd pochodzą.

+0

To właśnie powinieneś sprawdzić w rsk82 –

0

Użyj arkusza stylów resetowania, który ładuje się przed wszystkimi innymi arkuszami stylów.

używam zmodyfikowanej wersji http://meyerweb.com/eric/tools/css/reset/

+0

Również programista ui wyświetla się w przeglądarce Safari i przeglądarce Chrome za pomocą F12, można również zainstalować dodatek firebug do przeglądarki Firefox i sprawdzić, skąd pochodzą style. –

+0

Wierzę, Yahoo! Ma jeden również – Steve

+1

Pamiętaj, że to nie zmienia "każdego możliwego stylu" ... ale liczba stylów niestety różni się w zależności od przeglądarki.Powinieneś po prostu dodać każdy styl, do którego odwołują się twoje pliki CSS. –

1

Jeśli używasz przeglądarki Chrome lub Safari, initial działa dobrze, jeśli chcesz robić to, co chcesz. Po ustawieniu zobaczysz aktywny styl jako initial, a styl obliczony jako domyślny w przeglądarce.

Aby jednak ustawić aktywne style domyślne, utwórz element tymczasowy i ustaw właściwości elementu na wartości tymczasowe.

Demo: http://jsfiddle.net/ThinkingStiff/Yb9J9/

Scenariusz:

Element.prototype.setDefaultStyles = function() { 
    var element = document.createElement(this.tagName), 
     styles = window.getComputedStyle(element), 
     display = styles.getPropertyValue('display'); 
    element.style.display = 'none'; 
    document.body.appendChild(element); 

    for(style in styles) { 
     this.style[styles[style]] = styles.getPropertyValue(styles[style]); 
    }; 

    this.style.display = display; 
    document.body.removeChild(element); 
}; 

document.getElementById('unstyled').setDefaultStyles(); 

HTML:

<div id="styled">styled</div> 
<div id="unstyled">unstyled</div> 

CSS:

#styled, #unstyled { 
    border: 1px solid red; 
    color: green; 
    width: 100px; 
    height: 50px; 
} 

wyjściowa:

enter image description here

0

Spróbuj tego. Dodać do klasy o nazwie coś takiego, a następnie użyć go

.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; 
} 

Pierwotnie stąd: Reset/remove CSS styles for element only

Powiązane problemy