Mam starą zawartość zawierającą tabele o szerokości określonej za pomocą atrybutu szerokości HTML, tak jak: <table width="250">
. Ten atrybut jest nadpisywany przez regułę dla selektora CSS table
. Czy mogę przestać to przesłonić, aby tabele miały szerokość określoną w atrybucie HTML (co nie zawsze jest równe 250 pikselom, to tylko przykład)? Mogę wybrać tabele, które nie powinny mieć nadpisanych szerokości za pomocą selektora #column1 table
.Zatrzymaj CSS przesłonięcie atrybutu szerokości HTML
Odpowiedz
Spróbuj tego:
#column1 table {
width: auto;
}
Tak wiesz, css będzie zawsze zastępują starych atrybutów HTML inline. Zwykle jest to problem przy korzystaniu z edytora WYSIWYG.
Rozwiązałem ten problem dla starego html wygenerowanego przez edytor WYSIWYG w cms z javascript i jquery. I iteracyjne nad stołem (S) i odczytać wysokość i szerokość atrybut które następnie przekształcają się inline CSS:
var $table = $('#column1 table');
$table.css({
"width" : $table.attr('width'),
"height" : $table.attr('height')
});
To nie działa, próbowałem. Oblicza tabelę tak, jakby nie zastosowano do niej atrybutu szerokości CSS lub HTML. – tog22
Po prostu użyj szerokość: 250px zamiast auto. –
@ tog22 Dodałem rozwiązanie javascript (i jquery), z którego kiedyś korzystałem. –
Nie można zastąpić z css html ale można dodać atrybut style
na przykład:
style = " width: 250px;"
edit: można zastąpić ją na zewnątrz poprzez umieszczenie ważne na końcu reguły css, które będą się znosić wszelkie inne atrybuty CSS w stosunku do tego, czego zmienia!.
np
#column1 table {
width: 250px !important;
}
Dzięki, ale zobacz mój komentarz wyjaśniający na oryginalne pytanie. – tog22
po wyjaśnieniu użytkownika to wygląda na właściwą odpowiedź: +1 – fcalderan
@ togg22: tak, ważne! Jednak nie użyłbym go jako style = "...", ale raczej w arkuszu stylów. W przeciwnym razie możesz zrobić find-replace, który i tak byłby zalecany! – Chris
spojrzeć ten link .. http://www.w3schools.com/cssref/pr_dim_width.asp
W html umieścić Id tj
na stole, a następnie w css po prostu wykonaj
#TABLE1
{
width:250;
}
Czy możesz nam powiedzieć, dlaczego używasz wbudowanych atrybutów html w ten sposób?
Jeśli nie masz bardzo silnego powodu, radzę przenieść dowolne elementy stylu do CSS. I jest o wiele lepiej, jeśli CSS ma własny plik, a nie jest również wbudowany.
Lepiej jest zawsze oddzielać treść od prezentacji.
Wiem, zobacz mój komentarz wyjaśniający na oryginalne pytanie. – tog22
Możliwą, choć niefortunną odpowiedzią, która przyszła mi do głowy, jest zastąpienie reguły dla selektora CSS table
jednym z :not(#column1) table
. Będzie to jednak działać tylko w niektórych nowoczesnych przeglądarkach, a nie w IE.
Jak stwierdzono, sugeruję, aby użyć do tego arkusza stylów! Po prostu zaimplementuj to w swoim stylu.css:
table {
width:250px;
}
, a jeśli nie wystarczy, możesz dodać!ważne, jak:
table {
width:250px !important;
}
i dodać stylów jak to w czołowej części swojej HTML:
<link rel="stylesheet" type="text/css" href="css/stlyes.css">
W przeciwnym razie trzeba by dodać style = "width: 250px" bezpośrednio do każdej tabeli . Jeśli chcesz ponownie zmienić szerokość, na przykład 260px, będziesz musiał zmienić wszystkie z nich ponownie.
Jednakże, jeśli masz dostęp do kodu HTML, robi Find-Wymienić będzie zalecane, mimo to mieć czysty kod. Prawie każdy, nawet bardzo proste TextEdit Programm powinien mieć opcję Find-Wymienić ...
wiem, że to pytanie zadano 2 lata temu, ale może to być pomocne dla innych, którzy mają podobne problemy. Można użyć selektora atrybutu CSS:
table:not([width]) {
width: 250px;
}
pamiętać, że nie będzie działać pod IE 9 o ile wiem.
Nie sądzę, że to odpowiada na moje pytanie, prawda? – tog22
- 1. Get wartość atrybutu CSS
- 2. Stylizowanie atrybutu tytułu HTML za pomocą CSS
- 3. CSS: Symulacja elastycznej szerokości (bez szerokości min) -
- 4. Tabela HTML: procent szerokości kolumny
- 5. Zatrzymaj nunjucks przed ucieczką HTML
- 6. HTML/CSS Whitespace łamanie
- 7. Zatrzymaj wprowadzania tekstu ze 100% szerokości i 10px wyściółka wykraczające poza 100% szerokości
- 8. Brak wersji css i js atrybutu css
- 9. CSS: 100% szerokości i tła?
- 10. Powiększanie HTML/CSS
- 11. HTML Praktyka szerokości kolumny tabeli
- 12. Jak ustawić wysokość równą szerokości z css
- 13. Ustawianie szerokości za pomocą CSS attr()
- 14. Etykieta docelowa CSS na podstawie atrybutu?
- 15. Określanie szerokości procentowej dla komórek tabeli CSS
- 16. css: zapobiec rozszerzeniu szerokości div do dostępnej szerokości
- 17. tło css 100% szerokości poziomego przewijania problem
- 18. Uzyskaj wartość atrybutu HTML w SASS
- 19. Używanie atrybutów HTML jako wartości właściwości CSS
- 20. Jak znaleźć skrypt modyfikujący css wybranego atrybutu
- 21. Jaki jest najlepszy sposób na przesłonięcie/usunięcie określonego atrybutu w zewnętrznie hostowanym css (konkretnie Google CDN jquery-ui.css)?
- 22. CSS wielokropek tekst i 100 procent szerokości
- 23. Konwertuj CSS na HTML
- 24. HTML & CSS tło
- 25. HTML CSS LI Zawijanie
- 26. html css Animacja Gif
- 27. Menu rozwijane html css
- 28. Komentarze HTML w CSS?
- 29. Wstaw HTML z CSS
- 30. Błąd szerokości z wcięciem tekstu negatywowego w CSS
dlaczego nie można po prostu usunąć css 'width' regułę, który zastępuje atrybut? – fcalderan
Ponieważ jest to _lot_ starej importowanej treści. Mógłbym napisać skrypt find-replace, który zrobiłby to dla wszystkich tabel, które pasują do tabeli # column1, ale dobrze byłoby znaleźć prostszy sposób. – tog22
Przypuszczam, że byłoby lepiej usunąć wszystkie inline szerokość i wysokość atrybutów, w przeciwnym razie trzeba będzie prawdopodobnie dodać inne style inline, jak sugeruje Christopher Kenney – fcalderan