Névjegyek

Összecsukódó margók. Győzelem az egyértelműen. Összecsukódó margók Szomszédos elemek és összeomlás

Valaki zilált érzésekkel írja: "nem hello, no goodbye". :-))

Hogyan teheted felelőssé a tervezőt az elírásokért? Cégünk például rendelkezik egy tervező stúdióval, amellyel folyamatosan együttműködünk. És szinte minden elrendezésben vannak elírások, amelyeket nekünk készítenek. Némelyiküket mi magunk csináljuk, és kijavítjuk magunkat, amikor elrendezést küldenek nekünk ellenőrzésre, néhányat többször is javítani kell - a tervezők elfogadnak egy csomó javítást, javítanak valamit, elfelejtenek valamit. És néha az új gépelési hibák már a késztermékben is megjelennek, amelyeket maga a design stúdió küld nyomtatásra. A stúdiónak nincs saját korrektorja, de vannak menedzserek, akik felügyelik a projekteket, van művészeti igazgató, vannak tervezők és webmesterek. Röviden, vicces és tehetséges srácok, de nagyon hanyagok. Ön illusztrátor, és sok illusztrátor tervező és kreatív ember van körülötte. De a kreativitás nem jár tisztasággal? Az alkotó felelőssége azzal ér véget, hogy képet rajzol, és nem fontos szöveget ragaszt rá? Gyakran problémái vannak a gépelési hibákkal, és kinek kell megoldania őket - az, aki elkészíti az elrendezést, vagy az, aki megrendeli? És mit teszel, ha valami durva hibával készült dolgot hoznak neked? Nagyon fájdalmas.

Helló!
Természetesen úgy gondolom, hogy mindenkinek MINDEN munkáját nagyon jól kell elvégeznie. De azt is tudom, hogy nagyon gyakran az illusztrátorok, tervezők és más emberek, akik "tartalmat gyűjtenek valamibe", hibáznak, nem azért, mert ilyen lusták és figyelmetlenek. És mivel ez a munkájuk jellemzője - képekre, elrendezésre és formatervezésre vannak hangolva, és nem gondolnak a hibákra és a gépelési hibákra. A hibák ellenőrzéséhez tudatosan és jelentős erőfeszítéssel át kell kapcsolnia az agyát a szöveg olvasására és a gondolkodásra. És még ebben az esetben is sokat hiányozhat, mert szöveggel való munka során, akárcsak a grafikánál, a szem valamilyen különleges módon elmosódik.

Mi a kiút ebből?
1 - Teljesen tiltsa meg a tervezőknek (és válasszuk le őket), hogy egyáltalán ne nyúljanak a szöveghez. Ez abszolút. megadta a szöveget úgy, ahogy van - itt dolgozunk vele. Nem teszünk hozzá semmit, nem tulajdonítunk semmit. nem javítjuk. ne írjon le kézzel a képről stb. És tanítsd ezt. ha akár egyetlen szót is kijavítania kell, vagy akár a szó egy részét is - ez mindig különleges harckészültségű helyzet -, akkor újra kell olvasnia, kétszer ellenőriznie kell, és (!!!) még mindig emlékeznie kell arra, hogy tájékoztassa menedzser, hogy valahol a szöveg uralkodott.

És ez nem egy megerősítés arról, hogy a tervezők ostoba állatok, akik nem tudnak írni és olvasni, ez a fontos dolgok felelősségteljes kezelése, amelyekről ismert, hogy gyakran szétesnek e munka sajátosságai miatt.

Régóta tanítottam magamnak, hogy MINDENT odaadjak a korrektornak vagy szerkesztőnek (vagy projektmenedzsernek), ahol írtam valamit. Minden. Ez mind igaz. Minden kép pontosan három szóval. Mert ott is előfordul. És beszéljen róla, ha valahol megváltoztattam a szövegeket. Mindenki is. Hogy újra lássam. Nem szégyellem magam. Tudom, hogy nem látok hülye helyesírási hibákat közelről. Sokkal kínosabb, ha 2000 drága anyagra nyomtatott példány hibával érkezik.

2 - Minden menedzser azt mondja - hangosan és világosan -, hogy a tervezőinek tilos bemenni a szövegbe, és legalább egy betűt megváltoztatni ott, és pontosan így küldik, ezért a helyére teszik. És ha hiba van, az a menedzser hibája lesz. A menedzser feladata eldönteni, hogy ki ellenőrzi a hibákat - ő maga, vagy egy másik menedzser, vagy a kijelölt újságíró, vagy szerkesztő vagy lektor. És az orrod állandó bökése a TE feladatod, a tied. A tervezőnek ehhez semmi köze, az illusztrátorhoz semmi köze, jó, ha még egyszer megnézik és észreveszik, de ez nem az ő feladatuk és nem az ő felelősségük. Ennek a menedzsernek az utolsó, utolsó előtti és harmincegyedik átdolgozás után újra meg kell néznie mindent, és tájékoztatnia kell a tervezőt, ha ott kimaradt egy levél, majd a különleges karakter kiszállt.

3 - Általában volt egy ilyen hagyomány: ha valamit nagy példányszámban (200 -tól) adnak ki, van egy "jelzés" - egy utolsó végleges változat. amelyet több embernek adnak olvasni és nézni. 10 ezres példányszámmal körülbelül ugyanannak kell lennie - 8-10. Kisebb példányszámmal - még mindig legalább három. Nagyon szorgalmasan kell olvasniuk, és alá kell írniuk, hogy elolvasták. Ha utánuk még mindig hiba van, akkor legalább lesz pár ember, aki látta, és akiket meg lehet kérdezni - hogyan néztek ki hárman? Továbbá, ha ez a három párszor "szégyent hoz magára", akkor ők maguk is aktívan részt vesznek azoknak a felhajtásában, akiknek eredetileg nem kellett volna kihagyniuk ezeket a gépelési hibákat. Ezért valakit felelősségre kell vonni - és meg kell kérdezni. Akkor megpróbálják nem beismerni.
És most a leírás alapján ítélve senki nem érzi magát felelősnek.

Sok kezdő kódoló és webfejlesztő szembesül azzal a helyzettel, hogy az oldalon található elemek nem a várt módon viselkednek, és ez a viselkedés abszurdnak tűnik. De ne felejtsük el, hogy a meglévő domináns technológiákat gondolkodó emberek hozzák létre, és ha ezt a technológiát is időpróbára teszik, az azt jelenti, hogy egy ilyen furcsa, első pillantásra szükséges viselkedés szükségszerű volt és marad.

Valószínűleg mindenki találkozott az ingatlannal határ-összeomlás asztalokhoz. Ismeretes, hogy ez a tulajdonság az értékkel border-collapse: összeomlás eltávolítja a szomszédos táblázatcellák egyik szegélyét, megakadályozva az ismétlődő szegélyeket. A blokkmodell egyik jellemzője az ún összeomló margók(Angol - összeomló margó). A párnázás összeomlása a CSS dobozmodell egyik jellemzője, amely két vagy több doboz elem függőleges párnázásával átfedi (amelyek lehetnek szomszédosak vagy nem) egyetlen párnázatot alkotva. Az összevonásból származó behúzást összecsukott behúzásnak nevezzük. Vegye figyelembe, hogy ez a funkció csak az elem függőleges párnázására vonatkozik, azaz Nak nek margin-topés margin-bottom.

Az egyszerűség kedvéért képzelje el az összeomlást az alábbiak szerint: amikor a blokk elemek külső függőleges szegélyei érintkeznek, akkor a behúzás a nagyobbik értékével egyenlő, míg a kisebb szegéllyel rendelkező elem margóértéke nulla. Az alábbi képen a háttérkép egyik cellájának mérete 20 pixel; mint látható, az elemek közötti mélyedés 40 képpont, bár első pillantásra a kódot nézve egy személy, aki nem ismeri az összecsukás elveit, azt gondolhatja, hogy a blokkok helytelenül vannak elhelyezve, mivel a behúzások nincsenek hozzáadva :

# blokk1 (margó: 40 képpont; / * Állítsa be a margókat minden oldalon 40 képpontra az első blokkhoz * /) # blokk2 (margó: 40 képpont; / * Állítsa be a margókat a második blokkhoz az elsőhöz hasonlóan * / margin-top: 20 képpont ; / * A felső francia bekezdés felülbírálása * /)
* A példa forráskódja

Ha egy c értéknek mínusz értéke van, akkor az összecsukott eltolás végső értéke a blokk elemek kezdeti értékeinek összegzésével alakul ki. Ha mindkét érték negatív, akkor nagyobb negatív értéket használnak (számtani szempontból kevésbé). Például, ha a blokk1 értéke volt alsó margó: -60 képpontés blokk blokk2 margin-top: 50 képpont, akkor az elemek közötti kitöltés végső értéke mínusz 10 pixel lenne.

Mint minden más koncepció esetében, itt is vannak kivételek, ezért az összecsukás nem működik a következő esetekben:

  • az ingatlant használó lebegő tömbökkel úszó;
  • gyökér elemekkel ( html, test);
  • tulajdonsággal és értékkel rendelkező, abszolút elhelyezett elemekkel pozíció: abszolút;
  • inline elemekben.
Vannak speciális kivételek is, amelyek attól függnek, hogy a blokkok milyen hierarchikus interakcióban vannak (erről bővebben alább):
  • Ha az elemek tulajdonságértékkel rendelkeznek túlcsordulás megkülönböztethető látható, akkor az ilyen elemek nem omolják össze a behúzásokat örököseik behúzásával.
  • Elemek tulajdonsággal kitisztítva ne essenek össze a felső margókkal a szüleik alsó margóival.
Az elméletet nehéz lehet megérteni, ezért térjünk át a példákra. Tekintsük az öröklődésben létező klasszikus eseteket: amikor a blokkoknak gyermek-gyermek kapcsolata van ( testvér-testvér), az elemek szomszédosak és közös szülővel rendelkeznek; és akkor is, ha a blokkoknak van szülő-gyermek kapcsolata ( szülő-gyermek) - egyik elem beágyazva a másikba. Mindkét esetben sikeresen alkalmazták az összeomlást, de számos árnyalattal rendelkezik, amelyekről érdemes beszélni.

Szomszédos elemek és összeomlás

Általában, a további tulajdonságok használatát kizárva, a szomszédos, nem gyökér blokk elemek külső szegélyei összeomlanak, a szomszédos elemek összecsukásának példája fent található.

Néha szükséges elkerülni ezt a hatást. Az összecsukódó tulajdonságok használata mellett néhány trükköt is használhat, például ne állítsa be az elemek behúzási értékeit, kivéve egyetlen behúzást - felül vagy alul, de ha számos elemeket ilyen módon, előfordulhat, hogy meg kell adnia az első vagy utolsó elem behúzásait a szülőhöz képest, vagy módosítania kell a mezőt:

#parent (margó: 40 képpont; szegély: 1 képpont szaggatott fehér; háttér: rgba (150, 0, 255, 0,2); szélesség: 204 képpont;) / * A vizuális szimmetria megköveteli a párnázás aljának hozzáadását: 20 képpont; * / .blokk (magasság: 16 képpont; margó-felső: 20 képpont; szegély: 2 képpont fehér, háttér: rgba (150, 0, 255, 0,7);)
* A példa forráskódja

Amint láthatja, itt hozzá kell adnia egy alsó párnázatot a szülő elemhez az összes elem igazításához. Az, hogy érdemes -e törni a lábát a mankó helyettesítése érdekében, ízlés kérdése, de nem ajánlom.

A szülőhöz kapcsolódó elemek párnázásának összecsukása

Ebben az esetben az összecsukás kicsit bonyolultabb és bonyolultabb, mint a fenti példákban. Először is tudnia kell, hogy a blokkokat a megfelelő mezők összecsukják. Ez azt jelenti, hogy a szülő felső margója összeomlik a gyermek felső margójával. Ennek a helyzetnek a figyelembevételéhez képzelje el, hogy három blokk létezik: egy külső szülőblokk, egy szülőblokk és egy gyermekblokk. Annak érdekében, hogy az összecsukás működjön, a szülőblokknak nem lehet sem mezője, sem szegélye (értékük nulla volt). Így ezen elemek külső mezei érintkeznek. Vegye figyelembe, hogy az összecsukás kiváltásához nulla kitöltési és szülői értékre van szükség.

Outside_parent (margin-top: 40px; margin-left: 40px; border: 2px pöttyös fekete; háttér: rgba (150, 0, 255, 0,7);) .parent (kitöltés: 0px; / * Megjegyzés: a kitöltés 0 * / szegély: 0 képpont egyszínű szürke; / * A szülőnek sem szabad margót adni * / margin-top: 40 képpont; / * Ez a margó összeomlott a gyermekkel együtt * / háttér: rgba (150, 0, 255, 0,7);) lánya (szélesség: 196 képpont; margó-felső: 60 képpont; / * Tényleges margóértékek * / szegély: 2 képpont fehér, fehér;)
* A példa forráskódja

Hadd emlékeztessem önöket, hogy egy cella mérete 20 képpont, tehát az elemek közötti behúzás bezárása nélkül 60 + 40 képpont lenne, de ennek az effektusnak a használata miatt megegyezik az egyik elem maximális értékével , ebben az esetben - 60 képpont (3 cella). Láthatjuk, hogy a gyermekblokk párnázata helyettesíti a szülő felső párnázását. Ha beállít valamit a szülő elemhez: field ( párnázás) vagy a határ ( határ), akkor az összecsukás nem érvényes, és az első blokk és a második közötti távolság nyilvánvaló 100 képpont. Ily módon szabályozhatja ennek az effektusnak a jelenlétét egy kis mező vagy egy színtelen szegély hozzáadásával, mondjuk 1 képpont vastagsággal, ezáltal letiltva az összecsukási hatást.
Első pillantásra úgy tűnhet, hogy a hatás csak a szerkezet kialakításakor működik, mint a fenti példában, de nem így van: az összecsukás a szomszédos elemek között is működik, ha más beágyazott blokkokkal rendelkeznek. Tekintsünk egy olyan helyzetet, amikor van egy külső blokk és két blokk, amelyek közül az egyik be van ágyazva a másikba.

Kívül (magasság: 16 képpont; margó: 20 képpont 0 0 40 képpont; szegély: 2 képpont fehér, fehér; háttér: rgba (150, 0, 255, 0,7); margó-alsó: 20 képpont; / * Ez a margó is összeomlott * /). Nyilvánvaló (margin-top: 40px; / * Ez a kitöltés a gyerekkel összeomlott * / margin-left: 40px;) / * A szülői mezőben nem lehet margó vagy szegély, hogy a hatás kiváltódjon * / .daughter (margin-top: 60px ; / * Valójában összeomlott otop * / szegély: 2 képpont egyszínű fehér;)
* A példa forráskódja

Figyelemre méltó, hogy a fenti példában az összeomlás kétszer működött: először a szülő és a gyermek elem párnázása összeomlott, majd a kialakított párnázás a külső elem alsó párnázásával összeomlott.

Kimenet

A jó technikus számára fontos, hogy ellenőrizze a számára megfelelő szerszámokat és tulajdonságokat: a jó szerelőt nemcsak a motor szelepeinek száma, hanem a jó üzemanyag -befecskendező rendszer rendelkezésre állása és az üzemanyag minősége is foglalkoztatja. maga. Hasonlóképpen, egy jó webfejlesztőnek minden képpontot irányítania kell, és nem szabad elveszítenie a webhely struktúrájának fontos részleteit.

Az ördög az apróságokban van, az ördög a pixelekben.

Címkék: Címkék hozzáadása

Mi a hiba a következő kódrészletben: for (i = 0; i< 10; i++) {int sum;sum = sum + i;}System.out.println("Sum is: " + sum);В этом фрагменте кода имеются две существенные ошибки. Во-первых, переменная sum создается на каждом шаге цикла for, а следовательно, в промежутке междупоследовательными итерациями предыдущее значение подсчитываемой суммы небудет сохраняться в этой переменной. И во-вторых, переменная sum недоступна запределами кодового блока, в котором она объявлена. Поэтому ссылка на нее привызове метода println () недопустима.

Magyarázza el a különbséget a növekmény operátor prefix és postfix formái között. Ha az inkrement operátor megelőzi az operandust, a Java futtatókörnyezeti rendszer elvégzi a műveletet, mielőtt lekérné az operandus értékét, és felhasználná azt a kifejezés többi részében. Ha a növekmény operátor követi az operandust, akkor a futásidejű rendszer először lekéri az operandus értékét, és csak ezután növeli az operandust.

Mutassa be, hogy a csonka logikai ÉS operátor hogyan tudja megakadályozni a nullával való osztást.

Milyen típusú bájtokat és rövidítéseket léptetnek elő egy kifejezés értékelésekor?

Explicit typecasting szükséges, ha nem kompatibilis típusokkal foglalkozunk, vagy ha a típuskonverzió az érvényes értékek tartományának szűkítéséhez vezet.

Írjon programot, amely 2 és 100 közötti prímszámokat talál. // Keressen prímszámokat 2 és 100 között. Class Prime (public static void main (String args) (int i, j; boolean isprime; for (i = 2; i)< 100; i++) {isprime = true;// проверить, делится ли число без остаткаfor(j=2; j < i/j; j++)// если число делится без остатка, значит, оно простоеif ((i%j) == 0) isprime = false;if(isprime)System.out.println(i + " is prime.");}}}

A szükségtelen zárójelek befolyásolják a program végrehajtásának hatékonyságát?

A kódblokk határozza meg a változók hatókörét? Igen, igen. 3. fejezet Vezérlő operátorok

Írjon olyan programot, amely karaktereket ír be a billentyűzetről, amíg egy pontot nem talál. Adjon szóközszámlálót a programban. A szóközökre vonatkozó információkat a program végén kell kinyomtatni. // Szóközök számolása, osztály Spaces (public static void main (String args) dobja a java.io.IOException (char ch; int szóközök = 0; System.out .println ("Adjon meg egy pontot a leállításhoz."); do (ch = (char) System.in.read (); if (ch == 1 ") szóközök ++;) while (ch! = System.out. println ("Szóközök:" + szóközök;))

Mi az általános formája a többlépcsős if-else-if-nek? If (feltétel) utasítás; else if (feltétel) utasítás; else if (feltétel) utasítás; else utasítás;

Tegyük fel, hogy rendelkezik a következő kóddal: if (x< 10)if(у >100) (ha (! Kész) x = z; else y = z;) else System.out.println ("hiba"); // mi van, ha? Melyik if utasításhoz tartozik az utolsó más? Az utolsó else utasítás megfelel az azonos szintű legközelebbi if utasításnak, azaz ha (y> 100).

Írjon egy for ciklust, amely az 1000 és 0 közötti értékek között -2 -es lépésekben iterál. For (int i = 1000; i> = 0; i - = 2) // ...

Helyes a következő kódrészlet? For (int i = 0; i< num; i++)sum += i;count = i;Нет, не корректен. Переменная i недоступна за пределами цикла for, в которомона объявлена.

Mit tesz a szünet nyilatkozat? Ismertesse ennek az utasításnak mindkét változatát. És a break utasítás címkével átviszi az irányítást a megjelölt blokk végére.

Milyen üzenet jelenik meg a break utasítás végrehajtása után az alábbi kódrészletben? For (i = 0; i< 10; i++) {while(running) {if(x

Mi fog megjelenni a következő kódrészlet végrehajtása miatt? (Int i = 0; i<10; i++) {System.out.print(i + " ");if((i%2) == 0) continue;System.out.println();}На экране появится следующий результат:о 12 34 56 78 9

A for ciklus iteratív kifejezésének nem kell rögzített összeggel megváltoztatnia a ciklusváltozót. Ez a változó tetszőleges értékeket vehet fel. Írjon olyan programot, amely a ciklus segítségével számokat nyomtat 1, 2, 4, 8, 16, 32 stb. A for ciklus használata geometriai progresszió kialakításához 1, 2, 4, 8, 16, 32 stb./ class Haladás (public static void main (String args) (for (int i = 1; i< 100; i += i)System.out.print(i + " ");}}

A kisbetűs ASCII karakterek 32 -től különböznek a megfelelő nagybetűktől. Ezért a kisbetű nagybetűvé alakításához 32 -gyel kell csökkentenie a kódját. Használja ezt a körülményt egy olyan program írásához, amely karaktereket írhat be a billentyűzetről. Az eredmények kiadásakor a programnak kisbetűket nagybetűssé, nagybetűket kisbetűvé kell alakítania. A többi karaktert nem szabad megváltoztatni, a programnak le kell állnia, miután a felhasználó megad egy pontot a billentyűzetről. Végül a program jelenítse meg a karakterek számát, amelyeknél a kis- és nagybetűket megváltoztatták. .out.println ("Írja be az időszakot a leállításhoz."); Do (ch = (char) System.in.read (); if (ch> = "a" & ch<= "z") {ch -= 32;changes++;System.out.println(ch);}else if(ch >= "A" & ch<= "Z") {ch += 32;changes++;System.out.println(ch);}} while(ch != ".");System.out.println("Case changes: " + changes);}}

Mi a végtelen ciklus? A végtelen ciklus olyan ciklus, amely nem ér véget.

Meg kell határozni a break utasítással együtt használt címkét az adott utasítást tartalmazó kódblokkban? Igen, meg kell határozni. 4. fejezet Bevezetés az osztályokba, objektumokba és módszerekbe

Mi a különbség az osztály és az objektum között? Az osztály az objektum formájának és viselkedésének absztrakt logikai leírása. Az objektum pedig az osztály valódi példánya.

Az osztály meghatározása az osztály kulcsszó használatával történik. Az osztály utasítás megadja az osztályt alkotó kódot és adatokat.

Az osztály minden objektuma tartalmazza az osztály példányváltozóinak saját példányát.

Mutassa be, hogyan kell deklarálni a MyCounter osztály számlálóobjektumát két külön utasítással: MyCounter counter; counter = new MyCounter ();

Hogyan kell deklarálni a myMeth metódust, amely két int és a paramétert vesz fel, és kettős típusú értéket ad vissza? Dupla myMeth (int a, int b) (// ...

Hogyan ér véget egy értéket visszaadó metódus végrehajtása? A módszer leállításához használja a return utasítást. A visszatérési értéket továbbítja a program hívó részének is.

Mi legyen a kivitelező neve?

Mit tesz az új operátor? Az új operátor memóriát foglal le egy objektumhoz, és inicializálja az objektumot a megfelelő osztály konstruktorával.

Mi a szemétgyűjtés és mire szolgál? Miért van szükségünk a finalize () metódusra? A szemétszedés egy mechanizmus a nem használt objektumok eltávolítására az objektumokból felszabadított memória újrafelhasználásához. A finalize () metódust meghívjuk egy objektumra, mielőtt eltávolítjuk a memóriából.

Mit jelent ez a kulcsszó? Ez a kulcsszó hivatkozást jelent arra az objektumra, amelyen a metódust hívják. Automatikusan átkerül a módszerhez.



Tetszett a cikk? Oszd meg